gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 16:22:50 25 4
gpt4 key购买 nike

我正在(尝试)编写一个没有 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/

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