Я пытаюсь создать настраиваемый переключатель. У меня есть <selector>
настроенный следующим образом:
<selector xmlns...>
<item android:drawable="@drawable/image" android:state_checked="true" />
<item android:drawable="@drawable/image" android:state_checked="false" />
</selector>
Это просто образец прямо сейчас, поэтому я использую одно и то же изображение для простоты, но я планирую использовать составное изображение, состоящее из @drawable/image
и чуть большего прямоугольника позже. Изображение больше моего желаемого размера радиокнопки, поэтому моя проблема заключается не в том, чтобы масштабировать изображение вниз, чтобы изображение сохраняло его соотношение сторон в <RadioButton/>
, изображение просто обрезано (точнее, наполовину), Поскольку это не изображение, я не знаю, как правильно масштабировать его.
Я установил layout_width
& layout_height
для wrap_content
. Я планирую впоследствии кодировать абсолютные значения dp в файлах ресурсов, но я хотел бы выяснить, как правильно масштабировать изображение, чтобы оно соответствовало указанным размерам. Один из вариантов, который я вижу, заключается в использовании GIMP для изменения размера изображения раньше, но в долгосрочной перспективе это не кажется слишком адаптируемым, особенно если мне нужно сделать эту работу должным образом при множественных плотностях экрана.
Только сейчас я попытался использовать <inset/>
, надеясь, что это изменит размер, но это не сработало.
Какие-либо предложения?
Создание фиктивного фона работало для меня [проверено на API8 и 16]:
<RadioButton
android:id="@+id/stKayaBkRad"
android:background="@drawable/goban_rad_bkg"
android:button="@drawable/rad_goban_kaya_sel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
Очевидно, wrap_content
фон, который является просто полностью прозрачным png с тем же размером, что и drawable.
wrap_content
сделать переключатель по крайней мере таким же большим, как Drawable, чтобы онwrap_content
на экране целиком? И да, мне нужно масштабировать его, но я не знаю, как сказать, чтобы масштабировать.