【问题标题】:Android Custom radio button not getting displayedAndroid自定义单选按钮未显示
【发布时间】:2016-10-29 00:40:14
【问题描述】:

您好,我创建了一个自定义单选按钮,使用 xml drawable 选中和取消选中,我还制作了一个选择器。当我将按钮属性设置为自定义选择器时,在模拟器中它显示正确。但是当我在真实设备上运行这个项目时,什么都没有显示。我只能看到文本。 我的真实设备是Android 4.4.2。

unselected.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- larger circle at the back -->
<item
    android:width="@dimen/radiooutter"
    android:height="@dimen/radiooutter"
    android:gravity="center">
    <shape
        android:shape="oval"
        android:useLevel="false">
        >

        <solid android:color="@android:color/transparent" />

        <!-- thicker outer boarder -->
        <stroke
            android:width="2dp"
            android:color="@color/colorPrimary"/>
    </shape>
</item>


<!-- inner circle -->
<item
    android:width="@dimen/inner"
    android:height="@dimen/inner"
    android:gravity="center">
    <shape
        android:shape="oval">
        <solid android:color="@android:color/transparent" />

    </shape>
</item>

selected.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- larger circle at the back -->
 <item
    android:width="@dimen/radiooutter"
    android:height="@dimen/radiooutter"
    android:gravity="center">
    <shape
        android:shape="oval">

        <solid
            android:color="#FFFFFF"/>

        <!-- thicker outer boarder -->
        <stroke
            android:width="1dp"
            android:color="@color/colorPrimary"/>
    </shape>
</item>


<!-- inner circle -->
<item
    android:width="@dimen/inner"
    android:height="@dimen/inner"
    android:gravity="center">
    <shape
        android:shape="oval">
        <solid
            android:color="@color/colorPrimaryLight"/>

    </shape>
</item>

选择器.xml

 <selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_checked="true"     android:drawable="@drawable/radioselected"/>
<item android:state_checked="false" android:drawable="@drawable/radiounselected"/>
</selector>

xml 布局中的单选按钮

android:id="@+id/opt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:button="@drawable/selector"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:text="First option"
android:textSize="16dp"/>

【问题讨论】:

    标签: android drawable android-drawable android-custom-drawable


    【解决方案1】:

    试试这个

     android:id="@+id/opt"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:background="@drawable/selector"
     android:button="@android:color/transparent"
     android:paddingLeft="10dp"
     android:paddingRight="10dp"
     android:text="First option"
     android:textSize="16dp"/>
    

    这对你有帮助

    【讨论】:

    • 背景正在结束全文。
    • 试试 android:button="@null"
    • 没有变化。因为我的宽度是匹配父级。显然,如果我们将任何东西设置为背景。不可能是圆圈吧。?希望图层列表可绘制似乎有问题
    • 然后尝试使用 wrap_content
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多