在 android 中使用搜索栏更改列表视图的字体大小
Change font size of listview using seek bar in android
我想更改列表视图的字体大小。
我有一个从 ActionBarActivity 派生的 activity。
在这个 activity 中有一个列表视图和一个光标适配器。
要设置适配器,我使用 setlistadapter 方法。在适配器中,我已经覆盖了 newview 和 bindview 方法。
下面是适配器的代码。
public EncCursorAdapter( final Context context, final Cursor c )
{
super( context, c, false);
// Cache the LayoutInflate to avoid asking for a new one each time.
mInflater = LayoutInflater.from(context);
}
@Override
public void bindView( final View view, final Context context, final Cursor cursor )
{
( ( TextView ) view.findViewById( R.id.tvTerm ) ).setText( cursor.getString( cursor
.getColumnIndex( EncDbAdapter.KEY_TERM ) ) );
( ( TextView ) view.findViewById( R.id.tvSynopsis ) ).setText( cursor.getString(
cursor.getColumnIndex( EncDbAdapter.KEY_DISPDEF ) ).replaceAll( "\r\n", "" ) );
}
@Override
public View newView( final Context context, final Cursor cursor, final ViewGroup parent )
{
final View newView = mInflater.inflate(R.layout.definition_row, parent, false );
//bindView( newView, context, cursor );
return newView;
}
我有 2 个用于列表视图的文本视图。其中 1 是术语,另一个是概要。
下面是activity代码
public class Browse extends ActionBarListActivity{
private static ListView lCurrentList = null;
EncCursorAdapter eca;
@Override
public void onCreate( final Bundle savedInstanceState )
{
lCurrentList = (ListView) findViewById( android.R.id.list );
eca = new EncCursorAdapter( this, null );
}
private void setListToCursor( Cursor x )
{
mTermsCursor = new DebugCursor(x);
//startManagingCursor( mTermsCursor );
eca.changeCursor( mTermsCursor );
setListAdapter( eca );
}
以上代码并非完整代码...仅供参考。
我已经在使用 seekbar 来更改 webview 内容的字体大小。但不知道如何为列表视图做同样的事情。
请帮助我使用搜索栏更改列表视图的字体大小。
提前致谢......
在你的适配器中取一个变量来存储大小如下
int size=15; //give how much you want
接下来在适配器中采用另一种方法,通过适配器参考从外部设置大小
public void setSize(int size){
this.size=size;
}
在 Adapter 的 bindview() 中
( ( TextView ) view.findViewById( R.id.tvTerm ) ).setTextSize(size);
如果您在 onSeekBarChangeListener() 中使用 seekbar 读取 seekBar 值并调用
adapter.setSize(size);
adapter.notifyDatasetChanged(); or adapter.changeCursor(-);
希望对您有所帮助。
我想更改列表视图的字体大小。
我有一个从 ActionBarActivity 派生的 activity。 在这个 activity 中有一个列表视图和一个光标适配器。 要设置适配器,我使用 setlistadapter 方法。在适配器中,我已经覆盖了 newview 和 bindview 方法。
下面是适配器的代码。
public EncCursorAdapter( final Context context, final Cursor c )
{
super( context, c, false);
// Cache the LayoutInflate to avoid asking for a new one each time.
mInflater = LayoutInflater.from(context);
}
@Override
public void bindView( final View view, final Context context, final Cursor cursor )
{
( ( TextView ) view.findViewById( R.id.tvTerm ) ).setText( cursor.getString( cursor
.getColumnIndex( EncDbAdapter.KEY_TERM ) ) );
( ( TextView ) view.findViewById( R.id.tvSynopsis ) ).setText( cursor.getString(
cursor.getColumnIndex( EncDbAdapter.KEY_DISPDEF ) ).replaceAll( "\r\n", "" ) );
}
@Override
public View newView( final Context context, final Cursor cursor, final ViewGroup parent )
{
final View newView = mInflater.inflate(R.layout.definition_row, parent, false );
//bindView( newView, context, cursor );
return newView;
}
我有 2 个用于列表视图的文本视图。其中 1 是术语,另一个是概要。
下面是activity代码
public class Browse extends ActionBarListActivity{
private static ListView lCurrentList = null;
EncCursorAdapter eca;
@Override
public void onCreate( final Bundle savedInstanceState )
{
lCurrentList = (ListView) findViewById( android.R.id.list );
eca = new EncCursorAdapter( this, null );
}
private void setListToCursor( Cursor x )
{
mTermsCursor = new DebugCursor(x);
//startManagingCursor( mTermsCursor );
eca.changeCursor( mTermsCursor );
setListAdapter( eca );
}
以上代码并非完整代码...仅供参考。 我已经在使用 seekbar 来更改 webview 内容的字体大小。但不知道如何为列表视图做同样的事情。 请帮助我使用搜索栏更改列表视图的字体大小。
提前致谢......
在你的适配器中取一个变量来存储大小如下
int size=15; //give how much you want
接下来在适配器中采用另一种方法,通过适配器参考从外部设置大小
public void setSize(int size){
this.size=size;
}
在 Adapter 的 bindview() 中
( ( TextView ) view.findViewById( R.id.tvTerm ) ).setTextSize(size);
如果您在 onSeekBarChangeListener() 中使用 seekbar 读取 seekBar 值并调用
adapter.setSize(size);
adapter.notifyDatasetChanged(); or adapter.changeCursor(-);
希望对您有所帮助。