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!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

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

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...