Android 如何同时向listview添加边框和不同的行颜色
我试图在我的listview的外部有一个边框,同时为每一行使用不同的颜色 下面是来自我的适配器的getView方法Android 如何同时向listview添加边框和不同的行颜色,android,listview,border,Android,Listview,Border,我试图在我的listview的外部有一个边框,同时为每一行使用不同的颜色 下面是来自我的适配器的getView方法 viewHolder.dateView.setText(entry.getDateString("yyyy-MM-dd HH:mm")); if(position % 2 == 0){ viewHolder.linearLayout.setBackgroundResource(R.color.grey);
viewHolder.dateView.setText(entry.getDateString("yyyy-MM-dd HH:mm"));
if(position % 2 == 0){
viewHolder.linearLayout.setBackgroundResource(R.color.grey);
}
else{
//viewHolder.linearLayout.setBackgroundResource(R.color.white);
}
这是一个xml文件,我使用它在列表视图上创建边框,而不是单元格
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<!-- use this for transparent -->
<!-- <solid android:color="#00000000" /> -->
<!-- use this for a background colour -->
<solid android:color="@color/white" />
<stroke android:width="2dip" android:color="@color/black"/>
</shape>
如果我将背景设置为单元格,我将无法再看到边框重写 显然,您已经阅读了:因为您使用的是来自更好/更流行答案的代码。但也请阅读下面的答案,我成功地添加了
2dp
padding(与边框宽度相同)
重写 显然,您已经阅读了:因为您使用的是来自更好/更流行答案的代码。但也请阅读下面的答案,我成功地添加了
2dp
padding(与边框宽度相同)
这仍然删除了我的边界:/谢谢,我成功地实现了我想要的,我想这是你刚才的建议,或者是按照你的思路,我会在你的帖子中添加我的代码,以帮助将来的其他人:)你需要线性布局吗?您可以将背景
、重力
和填充
属性添加到列表视图中,并完全删除线性布局。但有时像background
这样的绘图工具是。。。挑剔,所以你可能需要它。我记不清为什么我需要它,我想这是因为当你选择一个项目时,它重叠了边框,看起来很奇怪。android:diver=“@null”android:dividerHeight=“0dp”回答了这个问题这仍然会删除我的边框:/谢谢,我成功地实现了我想要的,我想这是你刚才的建议,或者是按照你的思路,我会把我的代码添加到你的帖子中,以便将来帮助其他人:)你需要线性布局吗?您可以将背景
、重力
和填充
属性添加到列表视图中,并完全删除线性布局。但有时像background
这样的绘图工具是。。。很挑剔,所以你可能需要它。我不记得为什么我需要它,我想这是因为当你选择一个项目时,它与边框重叠,看起来很奇怪。android:divider=“@null”android:dividerHeight=“0dp”回答了这个问题
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/border_listview"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="2dp" >
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@null"
android:dividerHeight="0dp" />
</LinearLayout>