如何更改Android应用中自定义按钮的字体颜色?

时间:2013-04-03 02:56:04

标签: android button android-button android-fonts

我正在使用自定义按钮类为我的应用中的所有按钮使用自定义字体。我想改变颜色,但我不知道如何。这可能很容易,但我无法理解。

以下是我使用的代码:

    public class CustomButton extends Button {

    public CustomButton(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }

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

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

    private void init() {
        if (!isInEditMode()) {
            Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "MyCustomFont.otf");
            setTypeface(tf);
        }
    }
}

2 个答案:

答案 0 :(得分:3)

在清单

<application android:theme="@style/ApplicationStyle" android:icon="@drawable/icon" android:label="@string/app_name"> 

在Mystyle.xml中

<style name="ApplicationStyle" parent="android:Theme">
  <item name="android:buttonStyle">@style/CKButton</item>
</style>
 <style name="CKButton" parent="android:style/Widget.Button">
  <item name="android:textSize">19sp</item>
  <item name="android:layout_margin">0dip</item>
  <item name="android:background">#ff0000</item>
 </style>

答案 1 :(得分:1)

尝试使用setTextColor(Color.BLUE);

private void init() {
        if (!isInEditMode()) {
            Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "MyCustomFont.otf");
            setTypeface(tf);
            setTextColor(Color.BLUE);
        }
    }