Android - 自定义字体按钮 - 未设置样式指定的颜色

时间:2018-05-31 16:36:14

标签: android android-studio

我创建了一个MyButton类来设置和显示自定义 `public class MyButton扩展了android.support.v7.widget.AppCompatButton {

public MyButton(Context context) {
    super(context);
    init();
}

public MyButton(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
}

public MyButton(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);

    init();
}

private void init(){
    Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/Filmcryptic.ttf");
    setTypeface(tf);

}

} `

在我的styles.xml文件中,我设置了一个这样的样式,我只想覆盖textcolor和大小 -

    <style name="taWhiteButtonText" parent="@android:style/TextAppearance">
    <item name="android:textColor">#FF0000</item>
    <item name="android:textSize">20dp</item>
</style>

在我的布局文件中,我正在使用它 -

<com.xx.yyy.MyButton
    android:id="@+id/button_start_quiz"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:background="@drawable/chalkbutton"
    android:text="Start Quiz"
    style="@style/taWhiteButtonText"
    />

我遇到的问题是字体大小随着我更新样式而改变,但字体颜色没有反映出来。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在style.xml文件中更改父级。

    <style name="taWhiteButtonText" parent="Widget.AppCompat.Button">
    <item name="android:textColor">#FF0000</item>
    <item name="android:textSize">20dp</item>
</style>