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"/> 

答えて

0

この意志この

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"/> 

を試してみてください、あなたは背景がフルテキストをラップしている

+0

に役立ちます。 – Sreyas

+0

試してみてください:button = "@ null" –

+0

変更なし私の幅はマッチする親です。明らかに背景として何かを設定すればそれは右の円にすることはできません。何かが間違っていると思われるレイヤーリストdrawable – Sreyas

関連する問題