मैं समस्या से भी मिला, और मुझे शैली को प्रोग्रामेटिक रूप से सेट करने का तरीका मिला। शायद आप सभी को इसकी आवश्यकता है, इसलिए मैं वहां अपडेट करता हूं।
व्यू कंस्ट्रक्टर का तीसरा पैराम नीचे दिए गए स्रोत कोड के रूप में आपकी थीम में एक प्रकार का अटर स्वीकार करता है:
public TextView(Context context, AttributeSet attrs) {
this(context, attrs, com.android.internal.R.attr.textViewStyle);
}
इसलिए आपको R.str के बजाय एक प्रकार का R.attr। ** पास करना होगा। **
मेरे कोड में, मैंने निम्नलिखित कदम उठाए:
सबसे पहले, attr.xml में थीम द्वारा उपयोग की जाने वाली एक अनुकूलित पोशाक को अनुकूलित करें।
<attr name="radio_button_style" format="reference" />
दूसरा, 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>
अंत में, इसका उपयोग करें!
RadioButton radioButton = new RadioButton(mContext, null, R.attr.radio_button_style);
प्रोग्राम बनाया गया दृश्य आपके विषय में निर्दिष्ट शैली का उपयोग करेगा।
आपके पास एक कोशिश हो सकती है, और आशा है कि यह आपके लिए पूरी तरह से काम कर सकती है।