AppCompatRadioButton не отображается
Так как я хочу использовать buttonTint
на версии < 21, мне нужно переключиться с RadioButton
в AppCompatRadioButton
, К сожалению, кнопка не отображается на устройстве (Android 5.1). Это странно, потому что android:text
из AppCompatRadioButton
работает, так что это означает, что кнопка в основном работает. Только круг не показан. Есть идеи почему? Я также пытался установить другие атрибуты цвета, которые идут с AppCompatRadioButton
, Это тоже не сработало. Я также обновил до последней версии пакета совместимости, переместил кнопку внутри xml в другую позицию, но ничего не работает.
Это определение xml:
<android.support.v7.widget.AppCompatRadioButton
android:id="@+id/radio_bronze_monthly"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onBillingRadioButtonClicked"
android:text="@string/bronze_monthly"
android:textColor="@color/black"
android:textSize="@dimen/default_text_size"
app:buttonTint="@color/black"
app:colorAccent="@color/black"
app:colorPrimary="@color/black"
app:colorPrimaryDark="@color/black"/>
3 ответа
Я понял, что было не так: внутри декларации активности в AndroidManifest
Я установил собственную прозрачную тему, которая используется и в других видах деятельности:
<activity
android:name=".domain.billing.BillingActivity"
android:noHistory="true"
android:screenOrientation="portrait"
android:theme="@style/Theme.Transparent">
</activity>
Это из styles.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
<!--more styles -->
</resources>
если я опущу эту строку, это работает:
android:theme="@style/Theme.Transparent"
У меня есть Android 5.1, и я быстро его опробовал, у меня так работает нормально. Я просто поместил его в макет ограничения по умолчанию, но это не должно иметь никакого значения.
<android.support.v7.widget.AppCompatRadioButton
android:id="@+id/radio_bronze_monthly"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:buttonTint="@android:color/black"
android:text="asdf"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />