gpt4 book ai didi

android - 在创建抽屉导航后(在任何选择之前)在抽屉导航中设置粗体文本

转载 作者:太空狗 更新时间:2023-10-29 15:33:35 24 4
gpt4 key购买 nike

我有一个抽屉导航,就像来自 Google 应用程序(Play 音乐、Play 电影等)的抽屉导航

一切正常;我唯一的问题是:我不知道如何将文本设置为BOLD,就在创建抽屉之后和完成任何选择或点击之前!
我在执行 onItemClick 后设置粗体没问题,但如何在创建抽屉后立即设置?
我试图从抽屉内的列表中获取 View 引用,但它不起作用。

有人可以帮助我吗?

那是我的抽屉导航代码

        mNavDrawerStrings = getResources().getStringArray(R.array.action_bar_list);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_navigation_drawer);

// Set the adapter for the list view
mDrawerList.setAdapter(new ArrayAdapter<String>(this,
R.layout.navigation_drawer_list_item, mNavDrawerStrings));

mDrawerList.setItemChecked(0, true);
mDrawerList.setSelection(0);

NavigationDrawerItemClickListener navDrawerClickListener
= new NavigationDrawerItemClickListener(this, mDrawerList, mDrawerLayout);

mDrawerList.setOnItemClickListener(navDrawerClickListener);

// enable ActionBar app icon to behave as action to toggle nav drawer
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);

mDrawerLayout.setDrawerShadow
(R.drawable.drawer_shadow, GravityCompat.START);

mDrawerToggle = new CustomActionBarDrawerToggle(this, mDrawerLayout);
mDrawerLayout.setDrawerListener(mDrawerToggle);

最佳答案

您需要保留选择,以便所选项目即使在超出屏幕后仍保持选中状态。要更改文本颜色和项目背景,您可以使用颜色/可绘制状态列表资源 http://developer.android.com/guide/topics/resources/color-list-resource.html

但是,如果您想做更多的事情,则需要提供自定义适配器。像这样:

public class MyArrayAdapter extends ArrayAdapter<String>{

private int selectedItem;

public MyArrayAdapter(Context context, int resource, String[] objects) {
super(context, resource, objects);
}

public void selectItem(int selectedItem){
this.selectedItem = selectedItem;
notifyDataSetChanged();
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = super.getView(position, convertView, parent);
((TextView)convertView).setTypeface(null, position == selectedItem ? Typeface.BOLD : Typeface.NORMAL);

return convertView;
}
}

在 onItemClick() 中:

@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long arg3) {
((MyArrayAdapter)adapterView.getAdapter()).selectItem(position);
}

关于android - 在创建抽屉导航后(在任何选择之前)在抽屉导航中设置粗体文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21333955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com