我想改变listview的背景到目前为止我已经尝试了这个
<ListView
android:id="@+id/myList"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="@color/white"/>
但是这里的背景似乎并没有起作用。实际上它显示了后面的默认背景,任何想法如何实现它。
答案 0 :(得分:0)
尝试更改每个listitem布局的颜色。
设置适配器时,找到列表项的xml:
public class YourListAdapter extends BaseAdapter {
/....Code for Adapter ...../
public View getView(int position, View view, ViewGroup parent) {
if (view == null) {
view = mInflator.inflate(R.layout.yourxml_listitem, null);
/...rest of code for adapter .../
然后编辑列表项的xml布局并为每个列表项添加背景颜色,因为我怀疑您正在设置不同的颜色/或者将颜色设置为透明。
答案 1 :(得分:0)
尝试将其设置为资源 setBackgroundResource(R.color.color_red)
答案 2 :(得分:0)
你需要定义一个选择器fisrt。就像这样, list_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:drawable="@color/BackgroundColor" />
<item android:drawable="@color/white" />
</selector>
然后将其设置为您的背景。
<ListView
android:id="@+id/myList"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="@drawable/list_bg"/>
答案 3 :(得分:0)
如果您有此列表的自定义ListAdapter,则可以在该类的getView()方法内简单地更改布局。
如果您还没有,则需要在自定义主题
中更改这两个参数<item name="listChoiceBackgroundIndicator">@android:drawable/list_selector_background</item>
<item name="activatedBackgroundIndicator">@android:drawable/activated_background</item>
我在自定义列表适配器中做到了,因为我有不同的要求,即列表行的替代背景颜色等,并且它工作得很好。从来没有尝试过第二种选择,但我相信它应该有效......请参阅this link了解自定义主题的其他选择。
修改强> 我们不在string.xml中编写样式和主题声明,该文件仅用于字符串声明。在values文件夹中创建一个文件themes.xml,参见以下教程
请参阅上面的任何示例..创建主题后,您需要将该主题应用于android-manifiest文件中的Activity / Application。您还需要扩展任何现有主题。
答案 4 :(得分:0)
<ListView
android:id="@+id/myList"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:cacheColorHint="#00000000"/>
如果您使用自定义列表视图,则在listitem布局中定义背景颜色。
listitem.xml //说
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearlayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/artists_list_backgroundcolor"
android:baselineAligned="false"
android:orientation="vertical" >
// Your Listitem widgets
</LinearLayout>
试试这个..
答案 5 :(得分:0)
为什么你不尝试下面的线条。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="7dip"
android:background="@drawable/list_white_bg" >
<ListView
android:id="@+id/listView"
android:layout_width="wrap_content"
android:layout_height="170dip"
android:divider="#e0e0e0"
android:drawSelectorOnTop="false"
android:dividerHeight="1dip"
android:fadingEdge="none" >
</ListView>
</LinearLayout>
答案 6 :(得分:0)
android:layout_height =“fill_parent”首先检查你的背景设置是否正确,否则setBackgroundResource就像这样(确保你的列表视图在所有其他人之上)
listview.setBackgroundResource(android.R.color.darker_gray);
如果你想要自己的颜色
listview.setBackgroundResource(R.color.Yellow);
并在ur /res/strings.xml文件中
<color name="Yellow">#FF0</color>
更多颜色
http://en.wikipedia.org/wiki/Web_colors
答案 7 :(得分:0)
android 2.2上有一个bug。我发现最佳做法是将图像置于后面,并将背景设置为空。
<RelativerLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<ImageView
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:src="@drawable/list_bg"/>
<ListView
android:id="@+id/myList"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="@null"/>
</RelativerLayout>