读书人

含有边框的ListView和item

发布时间: 2012-11-26 11:48:50 作者: rapoo

带有边框的ListView和item

想为ListView和item四周添加边框有两种方法:

1.贴一张带有边框效果的背景图

2.自定义Draw的方法

第一种方法较第二种方法更耗系统资源,但是用法简单,只需要一张图设置为相应控件的背景即可,而第二种灵活性好些。

这次是实现带有边框的ListView和item,为此写个简单Demo 学习学习

先看下Demo运行效果吧

含有边框的ListView和item

下面是主要代码,主要是用到Canvas.drawLine(...)代码简单,我就不嗦了


BorderListView.java

package com.borderlistview.manymore13;import java.util.List;import android.content.Context;import android.os.Handler;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.WindowManager;import android.widget.BaseAdapter;import android.widget.ImageView;public class MyBaseAdaper extends BaseAdapter{private List<String> list;private Context c;MyBaseAdaper(Context c, List<String> list){this.list = list;this.c = c;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();}@Overridepublic Object getItem(int i) {// TODO Auto-generated method stubreturn list.get(i);}@Overridepublic long getItemId(int i) {// TODO Auto-generated method stubreturn i;} @Overridepublic View getView(int i, View view, ViewGroup viewgroup) { ListViewItem itemView = null ;if(view == null){itemView = new ListViewItem(c);}else{itemView = (ListViewItem)view;}itemView.setEventName(list.get(i)); return itemView; }  }

另外,在写本次Demo的时候报了错误,有错就改 Caused by: java.lang.NoSuchMethodException:BorderListView(Context,AttributeSet)

在 BorderListView类中加一个构造函数 搞定

public BorderListView(Context context, AttributeSet attrs)
{
super(context, attrs);
}




读书人网 >移动开发

热点推荐