我(尝试做)编写没有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, });
但是如何将其设置为我的列表视图?
列表视图的创建如下:
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);
答案 0 :(得分:5)
您可以使用StateListDrawable创建后,可以使用v.setBackgroundDrawable(yourStateListDrawable);
答案 1 :(得分:1)
像这样设置Listview Property Runtime
list.setCacheColorHint(Color.TRANSPARENT);