我有四个标签,包含四个列表视图,我想为每个列表视图设置背景,但每当我尝试添加背景时,它都会将图像放在列表视图的每个单元格中而不是列表后面。
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/pre"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="21sp">
</TextView>
我已经意识到这是因为我试图在textview中添加背景,所以它在listview中的每个单元格中添加图像,所以我尝试添加linearlayout,listview和imageview并将其放入那里的背景,但它强制关闭。我认为这是因为tabhost使用main.xml来绘制主页并且它发生冲突,所以我甚至尝试添加listview,它仍然关闭nforce,它只有在我只有textview时才能工作,我怎么能添加一个每个列表视图的背景,下面是列表视图代码;
public class prem extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
// Create an array of Strings, that will be put to our ListActivity
String[] names = new String[] { "Pre"};
ListView lv = getListView();
lv.setCacheColorHint(00000000);
lv.setAdapter(new ArrayAdapter<String>(this,
R.layout.list_item, names));
}
答案 0 :(得分:3)
好的,您的XML布局文件将在setContentView()
方法中使用。您尚未发布包含TabHost的活动代码,但我假设您使用的是默认setContentView(R.layout.main);
。如果你没有使用setContentView()
(在ListActivity的情况下),将ListView添加到XML文件不会改变任何东西,因为它永远不会被使用。
你是正确的,因为你正在设置TextView的背景。由于您使用的是ListActivity,因此您需要使用代码设置ListView的背景。 ListView是View的子类,因此您可以使用methods from the View class为ListView设置背景资源。
例如:
ListView listView = getListView();
//set background to color
listView.setBackgroundColor(#FF888888);
//set background to Drawable
listView.setBackgroundDrawable(myDrawable);
//set background to Resource
listView.setBackgroundResouce(R.id.my_res_id);
答案 1 :(得分:0)
根据JonniBravo,添加....
如果您有一个XML布局文件,用于在活动中使用setContentView()设置视图,则可以在其中定义ListView。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lists_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/paper_frame" />
</RelativeLayout>
活动可以使用
“找到它”lv = getListView();
如上例所示,您可以使用“background”属性设置ListView的背景。像往常一样,这可以是有效的可绘制的(例如,颜色或图像)。在我的例子中,它恰好是一个9.patch图像,由Android拉伸以封闭列表,提供一个框架。
祝你好运。