0

ListViewのフォントサイズを動的に変更するにはどうすればよいですか?

4

1 に答える 1

1

カスタムListAdapterを使用し、getViewをオーバーライドし、アダプターの初期化中にパラメーター(textSize)を設定します...

public class MyListAdapter extends ArrayAdapter<String> {
    private String[] stringArray = null;
    private int textSize,itemLayout;
    public MyListAdapter(Context context, 
            String[] objects,int textSize) {
        super(context, R.layout.la_item, objects);
        stringArray = objects;
        itemLayout = R.layout.la_item;
        this.textSize = textSize;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView == null)
        {
            LayoutInflater vi = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = vi.inflate(itemLayout, null);
        }
        TextView tv = (TextView)convertView.findViewById(R.id.itemText);
        tv.setTextSize(textSize); // SET THE TEXT SIZE!
        tv.setText(stringArray[position]);
        return convertView;
    }

}

R.layout.la_itemは、TextView...を使用した単純なlinearlayoutです。

ListAdapterの使用方法についてはこちらをご覧ください...

于 2010-07-12T12:47:41.550 に答える