Android Studio Vector Assets tools convert the vector transferred to PNG files for pre-Lollipop devices, but I get very poor PNG-s quality, as you can see here:

What else does it mean that the main background color of the button should be so light green that you see on the left, and the popped one will overwrite it:
<item android:state_checked="true" android:drawable="@drawable/show"> <shape android:shape="rectangle"> <corners android:bottomRightRadius="8dp"/> <solid android:color="@color/waveComponentGreen"/> </shape> </item> <item android:state_checked="false" android:drawable="@drawable/hide"> <shape android:shape="rectangle"> <corners android:bottomRightRadius="8dp"/> <solid android:color="@color/waveComponentGreen"/> </shape> </item>
xml for drawable (default from material icons):
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path android:fillColor="#FF000000" android:pathData="M8.59,16.34l4.58,-4.59 -4.58,-4.59L10,5.75l6,6 -6,6z"/>
I also wanted the icon to look a little smaller by changing the values, and I noticed that increasing the viewport size reduces the icon, but I'm not sure I understand why.
So: how to make the icon and the generated PNG smaller, less blurry and with the background color set in the resource file? Thanks.
EDIT : I managed to get a solid background color using the icon, combining them into a separate XML file with lists of layers:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle"> <corners android:bottomRightRadius="10dp"/> <solid android:color="@color/waveComponentGreen"/> </shape> </item> <item android:drawable="@drawable/show" android:top="10dp" android:bottom="10dp" android:left="10dp" android:right="10dp" />
Result:

I managed to reduce the blur by increasing the width and height of the vector. However, without the android:top|bottom|left|right tags android:top|bottom|left|right stretchable is stretched across the entire area of ββthe button. The second button should not have a solid background color, so I do not use tags from the list of layers => there is no way to set the marker top|bottom|left|right to draw.
If I reduce the size of the button, what I do is reduce the button click area.
My updated question is how to set the size of a vector that can be cut inside a button / switch / switch without reducing the size of the button itself?
UPDATE
I could not find a way to resize the vector that could be used on devices prior to API 21. Therefore, instead, I made the buttons themselves smaller and increased the touch area of ββeach button.