0
こんにちは私はカスタムラジオボタンを作成し、xml drawableを使用してチェックを外してセレクタを作成しました。カスタム属性のセレクタとしてボタン属性を設定すると、エミュレータで正しく表示されます。しかし、実際のデバイスでこのプロジェクトを実行すると、何も表示されません。テキストだけが表示されます。 私の実際のデバイスはAndroid 4.4.2です。Androidカスタムラジオボタンが表示されない
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>
selector.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"/>
に役立ちます。 – Sreyas
試してみてください:button = "@ null" –
変更なし私の幅はマッチする親です。明らかに背景として何かを設定すればそれは右の円にすることはできません。何かが間違っていると思われるレイヤーリストdrawable – Sreyas