Ho riscontrato anche il problema e ho trovato il modo di impostare lo stile in modo programmatico. Forse ne avrete bisogno tutti, quindi aggiorno lì.
Il terzo parametro del costruttore View accetta un tipo di attr nel tuo tema come codice sorgente di seguito:
public TextView(Context context, AttributeSet attrs) {
this(context, attrs, com.android.internal.R.attr.textViewStyle);
}
Quindi devi passare un tipo di R.attr. ** piuttosto che R.style. **
Nei miei codici, ho fatto i seguenti passi:
Innanzitutto, personalizza un attr personalizzato da utilizzare per i temi in attr.xml.
<attr name="radio_button_style" format="reference" />
In secondo luogo, specifica il tuo stile nel tema utilizzato in style.xml.
<style name="AppTheme" parent="android:Theme.Translucent">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<item name="radio_button_style">@style/radioButtonStyle</item>
</style>
<style name="radioButtonStyle" parent="@android:style/Widget.CompoundButton.RadioButton">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">64dp</item>
<item name="android:background">#000</item>
<item name="android:button">@null</item>
<item name="android:gravity">center</item>
<item name="android:saveEnabled">false</item>
<item name="android:textColor">@drawable/option_text_color</item>
<item name="android:textSize">9sp</item>
</style>
Alla fine, usalo!
RadioButton radioButton = new RadioButton(mContext, null, R.attr.radio_button_style);
la vista creata a livello di codice utilizzerà lo stile specificato nel tema.
Puoi provare e spero che possa funzionare perfettamente per te.