改变listview的风格

时间:2011-06-23 14:24:13

标签: android

我在我的应用程序中创建了一个列表视图..现在我想要更改text.background文本的字体颜色并禁用列表..所以如何做到这一点..我正在发送我的crating listview代码..请检查这个chnages可以做到的地方..

super.onCreate(icicle);
        setContentView(R.layout.contact_activity);
        lv1=(ListView)findViewById(R.id.ListView01);    
        lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));
        lv1.setOnItemClickListener(new OnItemClickListener() 
        {

            public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
            {

                      String selecteditem = lv_arr[position];
                      Intent myIntent = new Intent(view.getContext(), ContactInfo.class);
                      myIntent.putExtra("item", selecteditem);
                      startActivity(myIntent);
            }
        });

2 个答案:

答案 0 :(得分:1)

您可以扩展ArrayAdapter以使用具有您想要的颜色和任何样式的自定义行(由您定义)。我在这里有一个例子http://manuelzs.posterous.com/creating-a-custom-listview

答案 1 :(得分:0)

您需要更改行,而不是ListView。而不是使用 android.R.layout.simple_list_item_1,在调用setAdapter时,创建自己的行布局,其格式与您希望的样式相同。

例如:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:orientation="horizontal"
>
<ImageView
android:id="@+id/icon"
android:padding="2dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tick"
/>
<TextView
  android:id="@+id/label"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="40sp"
/>
</LinearLayout

此布局使用LinearLayout设置一行,左侧有一个图标

。右边的文字(用漂亮的大字体)

然后你的.setAdapter将是:

lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.row , lv_arr));

希望这有助于让你开始,不太确定你想要禁用列表的意思,也许你可以澄清一点!