[英]How to change textsize(fontsize) in customlistview?
我試圖在我的應用程序中更改textSize。 我想更改我的customlistview的textSize。 我的listview的行XML文件具有圖像3 textView。 當用戶單擊Optionmenu,然后單擊AlertDialog的SingleChoiceItems復選框時,我想更改textView的textSize。
這是我的代碼。
我需要更改XMl文件嗎?。然后如何設置我的customAdapter?..我需要更改適配器的getView方法嗎?
我願意接受任何答案。
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.ks_notice_menu_textsize:
final CharSequence[] items = {"normal", "big", "bigger"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("select textSize");
builder.setSingleChoiceItems(items, mSelect,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
mSelect = which;
}
});
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
int textSize = (int)Username.getTextSize();
switch(mSelect){
case 0:
//here I need to change textSize
break;
case 1:
//here I need to change textSize
break;
case 2:
//here I need to change textSize
break;
}
}
});
builder.setNegativeButton("cancel", null);
builder.show();
return true;
}
return false;
在XML中,用於ListView
的行,您需要將ID添加到相關的TextView
。 然后,您需要替換:
//here I need to change textSize
與(假設您希望文本大小為5):
customAdapter.setTextSize(5);
最后,在您的customAdapter
您需要實現一個setTextSize(int)
方法,該方法檢索所有視圖並將其文本大小設置為傳遞的值。 它還需要存儲該值,並將其用於當用戶向下滾動時創建的任何新視圖。
就像是:
public void setTextSize(final int textSize) {
fTextSize = textSize;
for (View view : fViews) {
((TextView) view.findViewById(R.id.list_view_text_1).setTextSize(textSize);
((TextView) view.findViewById(R.id.list_view_text_2).setTextSize(textSize);
((TextView) view.findViewById(R.id.list_view_text_3).setTextSize(textSize);
}
}
和:
public View getView(final int position, final View convertView, final ViewGroup parent) {
View view = // retrieve your view from XML.
fViews.add(view);
((TextView) view.findViewById(R.id.list_view_text_1).setTextSize(textSize);
((TextView) view.findViewById(R.id.list_view_text_2).setTextSize(textSize);
((TextView) view.findViewById(R.id.list_view_text_3).setTextSize(textSize);
return (view);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.