在 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(-);

希望对您有所帮助。