Android——設(shè)置字體的大小與樣式
一個(gè)按鈕改變字體的大小,一個(gè)按鈕改變字體的樣式
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è)置自己的字體樣式
}
}
);
}
}
說(shuō)明:必須事先在assets底下創(chuàng)建一個(gè)fonnts文件夾,并放入要使用的字體文件(.ttf),并提供相對(duì)路徑給createFronAsset()來(lái)創(chuàng)建Typeface對(duì)象。但是Android對(duì)字體支持不太好,可能有些字體文件不支持,但也不會(huì)報(bào)錯(cuò),只是在運(yùn)行過(guò)程中使用默認(rèn)的字體樣式。另外不僅可通過(guò)外部資源來(lái)構(gòu)造Typeface,也可以通過(guò)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
另外說(shuō)明一點(diǎn):
Button.OnClickListener相當(dāng)于一個(gè)接口,但看起來(lái),Button本身沒(méi)有OnClickListener這個(gè)接口。
android.view.View.OnClickListener說(shuō)明OnClickListener這個(gè)接口是屬于View的。
Button更改成EditText,View也是運(yùn)行正確的!