Я создаю приложение, связанное с карточной игрой, и поэтому в нем много изображений карточек.В одном разделе мне нужно, чтобы пользователь выбрал одну из четырех карт, при этом возможен только один выбор, и я хочу, чтобы карта слегка меняла цвет после нажатия, чтобы показать, что она выбрана в данный момент.
Для основной части этой задачи радиогруппа с RadioButtons имеет смысл, так как встроена функциональность для наличия отмеченного / непроверенного состояния и отмены выбора всех других параметров при выборе нового;однако проблема в том, что я хочу, чтобы кнопки были самими картами и, следовательно, изображением без текста вообще.
Сначала этот пост выглядел многообещающе: Добавление пользовательских радио-кнопок в Android
Мое использование этой стратегии:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_weight="5"
android:orientation="horizontal">
<TextView
android:id="@+id/label_seatGod"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="8"
android:gravity="center_vertical"
android:text="@string/ex2"
android:textColor="@color/font_condition_labels"
android:textSize="@dimen/font_gen_label_size"
android:textStyle="bold" />
<RadioGroup
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="8" >
<RadioButton
android:id="@+id/radioButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@drawable/power_aphrodite"
android:checked="false"
android:text="@null" />
</RadioGroup>
</LinearLayout>
, что привело к:
Это почти идеально.Текст отсутствует, и вся область пространства интерактивных кнопок состоит из изображения, которое я хочу, за исключением того, что, как вы видите, изображение совсем не масштабируется и обрезается по краям.Над RadioButton вы можете увидеть LinearLayout с 4 кнопками ImageButton, которые точно показывают, как я хочу, чтобы изображение RadioButton / карты отображалось (не обращайте внимания на серый, пока я еще не закончил заполнение видов).
По сути, я хочуRadioButton, который функционирует нормально, но выглядит точно так же, как одна из четырех кнопок ImageButton в верхней части.В идеале scaleType = "fitCenter" было бы исправлением, поскольку это то, что я использую в примере ImageButtons, но вы не можете применить этот атрибут к кнопке, которую можно нарисовать с помощью RadioButton или его фона.
Так как я могу получить изображение в масштабе и не обрезать его, не прибегая к каким-то быстродействующим манипуляциям с макетированием или создавая совершенно новый класс RadioButton?
Заранее спасибо.