Android——設(shè)置字體的大小與樣式
一個按鈕改變字體的大小,一個按鈕改變字體的樣式
Activity核心代碼:
public class Ex03_14 extends Activity
{
private TextView mText;
private Button sizeButton;
private Button fontButton;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mText=(TextView)findViewById(R.id.mytextview);
sizeButton=(Button) findViewById(R.id.sizebutton);
fontButton=(Button) findViewById(R.id.fontbutton);
sizeButton.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
mText.setTextSize(20); //設(shè)置字體大小為20
}
}
);
fontButton.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
mText.setTypeface(Typeface.DEFAULT_BOLD,Typeface.ITALIC); //設(shè)置系統(tǒng)默認(rèn)的字體樣式
// mText.setTypeface
// (Typeface.createFromAsset(getAssets(),"fonts/HandmadeTypewriter.ttf")); //設(shè)置自己的字體樣式
}
}
);
}
}
說明:必須事先在assets底下創(chuàng)建一個fonnts文件夾,并放入要使用的字體文件(.ttf),并提供相對路徑給createFronAsset()來創(chuàng)建Typeface對象。但是Android對字體支持不太好,可能有些字體文件不支持,但也不會報錯,只是在運(yùn)行過程中使用默認(rèn)的字體樣式。另外不僅可通過外部資源來構(gòu)造Typeface,也可以通過defaultFromStyle使用Android內(nèi)置的幾款Typeface.
int BOLD (Typeface.BOLD)
int BLOD_ITALIC
int ITALIC
int NORMAL
Typeface DEFAULT_BOLD (Typeface.DEFAULT_BOLD)
Typeface DEFAULT
Typeface MONSPACE
Typeface SANS_SERIF
Typeface SERIF
另外說明一點(diǎn):
Button.OnClickListener相當(dāng)于一個接口,但看起來,Button本身沒有OnClickListener這個接口。
android.view.View.OnClickListener說明OnClickListener這個接口是屬于View的。
Button更改成EditText,View也是運(yùn)行正確的!