android实现IOS圆角风格的列表ListView

  次阅读 来源:互联网(转载协议) 2015-11-26 09:28 我要评论(0)

这段代码目前已经加在我的一个jar包androidkit中,还没发布。

适用于android1.6以上,不依赖其他jar包

使用时不需要继承这里的RoundListAdapter。只需要在你实现了ListAdapter的类中,传入一个RoundParams的对象,并在getView方法返回前调用这里RoundListAdapter类提供的静态方法。

RoundListAdapter.setItemBackground(position, switcherView, mParams,

getCount());

1. [代码]

/*

* @(#)RoundListAdapter.java Project:com.sinaapp.msdxblog.androidkit

* Date:2012-12-6

*

* Copyright (c) 2011 CFuture09, Institute of Software,

* Guangdong Ocean University, Zhanjiang, GuangDong, China.

* All rights reserved.

*

* Licensed under the Apache License, Version 2.0 (the "License");

* you may not use this file except in compliance with the License.

* You may obtain a copy of the License at

*

* http://www.apache.org/licenses/LICENSE-2.0

*

* Unless required by applicable law or agreed to in writing, software

* distributed under the License is distributed on an "AS IS" BASIS,

* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

* See the License for the specific language governing permissions and

* limitations under the License.

*/

package com.lurencun.cfuture09.androidkit.widget.roundlist;

import android.view.View;

import android.widget.ListAdapter;

/**

* @author Geek_Soledad (66704238@51uc.com)

*/

public abstract class RoundListAdapter implements ListAdapter {

/**

* 圆角ListView的参数类。定义了顶部背景,底部背景,中间背景及单独一个时的背景。

*

* @author msdx

*

*/

public static class RoundParams {

public int topResid;

public int middleResid;

public int bottomResid;

public int lonelyResid;

public RoundParams(int topResid, int middleReside, int bottomResid,

int lonelyResid) {

this.topResid = topResid;

this.middleResid = middleReside;

this.bottomResid = bottomResid;

this.lonelyResid = lonelyResid;

}

}

public static void setItemBackground(int position, View item,

final RoundParams mParams, final int count) {

if (count == 1) {

item.setBackgroundResource(mParams.lonelyResid);

} else if (position > 0 && position < count - 1) {

item.setBackgroundResource(mParams.middleResid);

} else if (position == 0) {

item.setBackgroundResource(mParams.topResid);

} else {

item.setBackgroundResource(mParams.bottomResid);

}

}

}

2. [代码]使用示例

/*

* @(#)LocalAdapter.java Project:RTKSETTINGS

* Date:2013-1-9

*

* Copyright (c) 2013 Geek_Soledad.

* All rights reserved.

*

* Licensed under the Apache License, Version 2.0 (the "License");

* you may not use this file except in compliance with the License.

* You may obtain a copy of the License at

*

* http://www.apache.org/licenses/LICENSE-2.0

*

* Unless required by applicable law or agreed to in writing, software

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 2018深圳国际人工智能展览会 2018 shenzhen International Artif

    2018深圳国际人工智能展览会 2018 shenzhen International Artif

  • teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

    teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

  • Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

    Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

  • Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

    Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...