web-dev-qa-db-ja.com

チェックを外した後、RadioButtonは黒いチェックの円を残します

RadioGroupのRadioButtonのチェックを外すか、グループ内の別のRadioButtonをクリックすると、黒いチェックの丸が残ります。これを防ぐにはどうすればよいですか?

<RadioGroup
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:orientation="vertical">

        <RadioButton
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:text="Test"
            Android:textAlignment="textStart"
            Android:layoutDirection="rtl"
            Android:layout_gravity="start"
            Android:background="?android:selectableItemBackground"/>

        <RadioButton
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:textAlignment="textStart"
            Android:layoutDirection="rtl"
            Android:layout_gravity="start"
            Android:background="?android:selectableItemBackground"/>

</RadioGroup>

enter image description here

API 27ではなく、私のAPI 19の実際のデバイスで発生します

編集:_________________________________________________

機能しないカスタムセレクターを使用してみました

<RadioGroup
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_below="@id/qrmenu_toolbar"
        Android:orientation="vertical">

<RadioButton
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:text="Resume"
            Android:layoutDirection="rtl"
            Android:layout_gravity="start"
            Android:drawablePadding="12dp"
            Android:paddingStart="16dp"
            Android:paddingTop="12dp"
            Android:paddingEnd="16dp"
            Android:paddingBottom="12dp"
            app:drawableLeftCompat="@drawable/ic_resume"
            Android:button="@drawable/radiobutton_selector"
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item Android:drawable="@drawable/radio_checked" Android:state_checked="true" />
    <item Android:drawable="@drawable/radio_unchecked" Android:state_checked="false" />
</selector>

テーマ:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorBlack</item>
        <item name="colorPrimaryDark">@color/colorBlack</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

バンプはまだ解決策を見つけることができません

編集:______________________________________

カスタムラジオボタンの使用も試してみましたが、それでも機能しません。

<RadioButton
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:button="@drawable/custom_radio_button"/>

カスタムRadioButton:

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item Android:state_checked="true" Android:drawable="@drawable/ic_radio_button_checked"/>
    <item Android:state_checked="false" Android:drawable="@drawable/ic_radiobutton_unchecked"/>
</selector>
8
DIRTY DAVE

ラジオボタンから背景を削除する

Android:background="?android:selectableItemBackground"

Android:button="@drawable/radiobutton_selector"

Androidのカスタムラジオボタンの例を次に示します。これを調べてください。多分これはあなたのために役立ちます。 http://www.apnatutorials.com/Android/android-radiobutton-customization-and-usage.php?categoryId=2&subCategoryId=62&myPath=Android/android-radiobutton-customization-and-usage.php

3
mdroid

サポートライブラリ(com.google.Android.material)の MaterialRadioButton を使用します。この問題は、テーマとセレクターと組み合わせたAPIバージョンに応じて、RadioButtonの実装が異なるために発生する可能性があります。 MaterialRadioButtonを使用すると、APIバージョン全体で動作が統一されます。

ここ は、このコンポーネントの小さな贈り物です。

'com.google.Android.material:material:1.0.0'依存関係は、プロジェクトと、アプリで使用されるマテリアルテーマの1つにインポートする必要があります。

お役に立てば幸いです。

1
Pavlo Ostasha

これにはbuttonTintを使用する必要があります。

<RadioButton
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:id="@+id/radioButton"
    Android:buttonTint="@color/your_color"/>

RadioButtonは次のようになります。ただし、これはAPI 21より前では機能しません。API21より前のデバイスの解決策があります ラジオボタンの円の色を変更

0