自定义可绘制单选按钮Android宽度和高度参数

时间:2018-11-03 14:15:17

标签: android android-layout radio-button android-custom-view android-styles

我一直在阅读有关堆栈溢出的一些答案,尽管尝试了各种建议,但似乎无法使它正常工作。也许有一种“新”方法可以做到?

我正在尝试向单选集合中的两个单选按钮添加自定义可绘制对象:

<RadioGroup
            android:id="@+id/orderByRadioGroup"
            android:layout_width="0dp"
            android:layout_height="30dp"
            android:orientation="horizontal"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent">

            <RadioButton
                android:id="@+id/radioStarRating"
                android:layout_width="0dp"
                android:layout_height="30dp"
                android:layout_weight="1"
                android:button="@drawable/checkbox"
                android:text="@string/filters_star_rating"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="@+id/guideline46"
                app:layout_constraintTop_toTopOf="parent" />

            <RadioButton
                android:id="@+id/radioResponseTime"
                android:layout_width="0dp"
                android:layout_height="30dp"
                android:layout_weight="1"
                android:button="@drawable/checkbox"
                android:text="@string/filters_response_time"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toStartOf="@+id/guideline46"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />
        </RadioGroup>

单选按钮

`android:button` 

已设置此可绘制对象:

<?xml version="1.0" encoding="utf-8"?>

    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item android:state_checked="false" android:drawable="@drawable/checkboxfalse"
            android:width = "30dp"
            android:height = "30dp"/>
        <item android:state_checked="true" android:drawable="@drawable/checkboxtrue"
            android:width = "30dp"
            android:height = "30dp"/>
        <item android:drawable="@drawable/checkboxfalse"
            android:width = "30dp"
            android:height = "30dp"/>
    </selector>

但是结果是这样的

enter image description here

如何正确绘制可绘制比例尺? selector元素没有可绘制对象的高度和宽度一样困难……

谢谢您的帮助/指针。

1 个答案:

答案 0 :(得分:0)

将选择器可绘制设置为背景:

android:background="@drawable/checkbox"
android:button="@android:color/transparent"