展会信息港展会大全

android实现IOS圆角风格的列表ListView
来源:互联网   发布日期:2015-11-26 09:28:58   浏览:1307次  

导读:这段代码目前已经加在我的一个jar包androidkit中,还没发布。适用于android1.6以上,不依赖其他jar包使用时不需要继承这里的RoundListAdapter。只需要在你实现了ListAdapter的类中,传入一个RoundParams的对象,......

这段代码目前已经加在我的一个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

* 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.realtek.msdx.rtksettings.view;

import java.util.ArrayList;

import java.util.List;

import android.app.TvManager;

import android.content.Context;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import com.lurencun.cfuture09.androidkit.widget.roundlist.RoundListAdapter;

import com.lurencun.cfuture09.androidkit.widget.roundlist.RoundListAdapter.RoundParams;

import com.realtek.msdx.rtksettings.activity.MainActivity;

import com.realtek.msdx.rtksettings.bean.LocalSettingsBean;

/**

* @author Geek_Soledad (msdx.android@tom.com)

*/

public class LocalAdapter extends BaseAdapter {

private RoundParams mParams;

private Context mContext;

public LocalAdapter(Context context, RoundParams params) {

super();

mContext = context;

mParams = params;

}

@Override

public int getCount() {

return 5;

}

@Override

public Object getItem(int position) {

return position;

}

@Override

public long getItemId(int position) {

return position;

}

@Override

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

// 在这里创建view,

//SwitcherTextView view = new SwitcherTextView(mContext);

// 然后在返回view前进行调用

RoundListAdapter.setItemBackground(position, view, mParams,

getCount());

return view;

}

}

赞助本站

人工智能实验室

相关热词: 圆角 列表

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港