android - 如何以编程方式设置 listView 的 state_pressed 颜色

标签 android listview

我正在(尝试)编写一个没有 xml 文件的程序(android 文档说这是可能的)但是我很难找到一些细节的信息。

当项目被中性色触摸时,我想替换丑陋的橙色。 有人知道我们如何在程序中做到这一点吗?对于没有 R.loayout 表示的 ListView?

提前感谢您的回答...

关于这个的一些讨论:

  ColorStateList c = new ColorStateList( 
             new int[][] {
                     new int[] { android.R.attr.state_pressed},
                     new int[1]
                 }, new int[] {
                     Color.rgb(50, 50, 255),
                     Color.BLACK,
                 });

但是如何将它设置为我的 ListView 呢?

ListView 的创建如下:

private class mybaseAdapter extends BaseAdapter {

    @Override
    public int getCount() {
        if (portList == null)
            return 0;
        return portList.size();
    }

    @Override
    public Object getItem(int position) {
        Log.v("getItem", portList.get(position).toString());
        return portList.get(position);
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        Log.v("getView", portList.get(position).toString());
        return portList.get(position);
    }
}

    ListView lv = new ListView(context);
    TableRow.LayoutParams lp = new TableRow.LayoutParams(
            LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    lv.setAdapter(new mybaseAdapter());
    lv.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            Log.v("onItemClick", "Clicked item is");
        }
    });
    addView(lv, lp);

最佳答案

您可以使用 StateListDrawable创建它之后,您可以使用 v.setBackgroundDrawable(yourStateListDrawable);

将其设置为 View 的背景

关于android - 如何以编程方式设置 listView 的 state_pressed 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10154297/

相关文章:

android - PagerAdapter 中的 MapFragment

android - 使用 Intent 启动媒体播放器

android - ListView 中的第一项显示不正确

java - 如何设置可扩展大小的数组以防止空指针异常?

android - 如何从 Holo Dark 主题获取一些 STLyed 项目到旧的 android 版本?

Android:如何在给定 url 的情况下显示大型动画 gif?

Android LinearLayout 在实际设备上看起来不一样

安卓。获取 ListView 项目 onClick 内部按钮到新的子 fragment

android - Android中Mysql连接ListView的教程

Java Android - 修复了带有 ListView 的页脚