2

私は(やろうとしている)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);
4

2 に答える 2

5

StateListDrawableを使用できます。作成したら、次のコマンドでビューの背景に設定できます。v.setBackgroundDrawable(yourStateListDrawable);

于 2012-04-14T15:29:58.253 に答える
1

Listviewプロパティランタイムをこのように設定します

list.setCacheColorHint(Color.TRANSPARENT);

于 2012-04-14T14:42:31.017 に答える