博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设置listview,隔行不同style
阅读量:6005 次
发布时间:2019-06-20

本文共 2317 字,大约阅读时间需要 7 分钟。

hot3.png

1新建两个背景Drawable

even_row.xml

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android" >

<solid android:color="#A0A0A0"/>

<padding android:left="3dp" android:top="3dp" android:right="3dp" android:bottom="3dp" />

<stroke android:width="1dp" android:color="#00CC00"/>

</shape>

odd_row.xml

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android" >

<solid android:color="#A0A0A0"/>

<padding android:left="3dp" android:top="3dp" android:right="3dp" android:bottom="3dp" />

<stroke android:width="1dp" android:color="#00CC00"/>

</shape>

2创建两个selectors

listview_selector_event.xml

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:drawable="@drawable/even_row" android:state_enabled="true"/>

<item android:drawable="@drawable/even_row" android:state_pressed="true"/>

<item android:drawable="@drawable/even_row" android:state_focused="true"/>

</selector>

listview_selector_odd.xml

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:drawable="@drawable/odd_row" android:state_enabled="true"/>

<item android:drawable="@drawable/odd_row" android:state_pressed="true"/>

<item android:drawable="@drawable/odd_row" android:state_focused="true"/>

</selector>

3 有了这两个selector就可以把我们背景资源添加到listview上了。

public View getView(int position, View convertView, ViewGroup parent) {

View v = convertView;

PlanetHolder holder = new PlanetHolder();

// First let's verify the convertView is not null

if (convertView == null) {

// This a new view we inflate the new layout

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

v = inflater.inflate(R.layout.row_layout, null);

// Now we can fill the layout with the right values

TextView tv = (TextView) v.findViewById(R.id.name);

holder.planetNameView = tv;

v.setTag(holder);

if ( position % 2 == 0)

v.setBackgroundResource(R.drawable.listview_selector_even);

else

v.setBackgroundResource(R.drawable.listview_selector_odd);

}

else

holder = (PlanetHolder) v.getTag();

Planet p = planetList.get(position);

holder.planetNameView.setText(p.getName());

return v;

}

转载于:https://my.oschina.net/u/572499/blog/207955

你可能感兴趣的文章
FastMQ V0.2.0 stable版发布
查看>>
对象复制
查看>>
Mongodb内嵌数组的完全匹配查询
查看>>
WARN hdfs.DFSClient: Caught exception java.lang.InterruptedException
查看>>
移动硬盘文件或目录损坏且无法读取怎么解决
查看>>
在shell中使用sed命令替换/为\/
查看>>
JavaSe: 不要小看了 Serializable
查看>>
Node.js 抓取电影天堂新上电影节目单及ftp链接
查看>>
linux popen函数
查看>>
[游戏开发]关于手游客户端网络带宽压力的一点思考
查看>>
如何成为强大的程序员?
查看>>
How To: 用 SharePoint 计算列做出你自己的KPI列表
查看>>
Visual Studio下使用jQuery的10个技巧
查看>>
数据库查询某个字段值的位数 语法
查看>>
java file 文件操作 operate file of java
查看>>
WPF获取路径解读
查看>>
【实战HTML5与CSS3】用HTML5和CSS3制作页面(上)
查看>>
Android : 如何在WebView显示的页面中查找内容
查看>>
数字信号处理 基础知识 对比回顾
查看>>
分享个人Vim型材
查看>>