Сделайте Android-кнопку Radio Button `button` Уменьшить, чтобы она соответствовала границам и сохраняла соотношение сторон

1

Я пытаюсь создать настраиваемый переключатель. У меня есть <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/>, надеясь, что это изменит размер, но это не сработало.

Какие-либо предложения?

  • 0
    у вас, должно быть, проблема с размером изображения. Поскольку вы предоставляете содержимое для переноса обоим, оно должно обрезаться.
  • 0
    не должен ли wrap_content сделать переключатель по крайней мере таким же большим, как Drawable, чтобы он wrap_content на экране целиком? И да, мне нужно масштабировать его, но я не знаю, как сказать, чтобы масштабировать.
Теги:
android-layout
android-widget

1 ответ

3

Создание фиктивного фона работало для меня [проверено на 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.

  • 0
    Работал на меня! Отличная идея!
  • 0
    Проверено и сработало.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню