如何在android中更改listView文本的颜色

时间:2014-09-15 11:33:57

标签: android

我从我的IDE中选择了默认导航抽屉活动,我已经设置了列表视图项目,但我想将每个示例的默认颜色(白色)更改为自定义颜色黑色。有我试过的代码

//Set Black Color for the text

    textView=(TextView) getText(android.R.id.text1);
    textView.setTextColor(getResources().getColor(R.color.dark_grey));
    textView.setTypeface(Typeface.DEFAULT_BOLD);
    textView.setTextSize((float) 20);

    mDrawerListView.setAdapter(new ArrayAdapter<String>(
            getActionBar().getThemedContext(),
            android.R.layout.simple_list_item_1,
            android.R.id.text1,
            new String[]{
                    getString(R.string.title_section1),
                    getString(R.string.title_section2),
                    getString(R.string.title_section3),
                    getString(R.string.title_section4),
                    getString(R.string.title_section5),
                    getString(R.string.title_section6),
            }));
    mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
    return mDrawerListView;

2 个答案:

答案 0 :(得分:2)

你有两种可能性。第一个是使用Android的内置布局(就像你做的那样),并覆盖适配器中的getView()来改变文本颜色,如下所示:

mDrawerListView.setAdapter(new ArrayAdapter<String>(getActionBar().getThemedContext(), android.R.layout.simple_list_item_1, android.R.id.text1,
            new String[] { 
                getString(R.string.title_section1),
                getString(R.string.title_section2),
                getString(R.string.title_section3),
                getString(R.string.title_section4),
                getString(R.string.title_section5), 
                getString(R.string.title_section6)}) {

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            TextView textView = (TextView) super.getView(position, convertView, parent);
            textView.setTextColor(getResources().getColor(R.color.whatever));
            return textView;
        }
    });

第二个选项是创建自己的布局xml文件,并在该布局的文本视图中设置文本颜色属性。

答案 1 :(得分:0)

如果您不需要以编程方式更改颜色,请尝试更改listview的xml文本颜色。