0
<Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="alertBtn1"
        android:text="Hello" 
        android:textSize="22sp"

以上是xml中按钮的代码,我是assets文件夹中“fonts”文件夹中的自定义字体。如何更改按钮的字体以匹配我拥有的自定义字体?

这是按钮的作用:

public void onClick(View v){}

public void alertBtn(View v){

    new AlertDialog.Builder(this)
    .setTitle("Button 1")
    .setMessage("Hello")
    .setNeutralButton("Go Back", null)
    .show();
}

我尝试使用

Button txt = (Button) findViewById(R.id.custom_font);  
Typeface font = Typeface.createFromAsset(getAssets(), "custom_font.ttf");  
txt.setTypeface(font);

但它说R.id.custom_font);无法解析或不是字段,并且字体中存在语法错误txt.setTypeface(font);

4

2 回答 2

2

Button txt = (Button) findViewById(R.id.custom_font);

应该

Button txt = (Button) findViewById(R.id.button1);

或者 android:id="@+id/button1"

应该

android:id="@+id/custom_font"

这将解决您无法解决的错误,但我在 setTypeface 行中看不到语法错误。

于 2013-01-06T18:44:50.623 回答
1

改变

Button txt = (Button) findViewById(R.id.custom_font);

Button txt = (Button) findViewById(R.id.button1);

并且 因为您android:onClick="alertBtn1"在 Button xmlandroid:onClick="alertBtn"中设置alertBtn1,并且在代码部分中您有alertBtn名称的方法

于 2013-01-06T18:46:55.957 回答