我正在开发自定义复选框和单选按钮,但样式不适用于预棒棒糖设备(而是显示黑色)。我已经这样编码:
XML:
<com.kaho.myapp.CustomCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBoxText"
android:textColor="@color/colorPrimary"
android:theme="@style/SampleTheme"/>
自定义复选框:
public class CustomCheckBox extends CheckBox {
public CustomCheckBox(Context context) {
super(context);
}
public CustomCheckBox(Context context, AttributeSet attrs) {
super(context, attrs);
setFont(context, attrs) ;
}
public CustomCheckBox(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
setFont(context,attrs) ;
}
public CustomCheckBox(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
setFont(context, attrs) ;
}
private void setFont(Context context, AttributeSet attrs) {
if (attrs != null) {
/* Set the font */
}
}
}
字体设置正确。风格 :
<style name="SampleTheme" parent="Theme.AppCompat.Light">
<item name="colorAccent">#08c283</item>
<item name="android:textColorSecondary">#969696</item>
</style>
您有此问题,因为Lollipop之前的设备无法colorAccent
默认设置a 。要获得这样的行为,请从相应的支持视图中扩展您的视图。会有这样的事情:
public class CustomCheckBox extends AppCompatCheckBox
public class CustomRadioButton extends AppCompatRadioButton
这样,您的视图将具有预棒棒糖设备上的材质设计风格。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句