android listview item 圆角,ListView圆角 实现方法(一)

(本方法核心思想是 在适配器里面为 每一个item 添加

selector)

适配器里面代码:

package com.blogtask.adapter;

import com.blogtask.activity.R;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.LinearLayout;

import android.widget.TextView;

public class demoadapter extends BaseAdapter {

private LayoutInflater inflater;

private String[] list;

private int resource;

public demoadapter(Context context,String[]

list,int resource){

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

this.list=list;

this.resource=resource;

}

@Override

public int getCount() {

// TODO Auto-generated method

stub

return list.length;

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method

stub

return list[position];

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method

stub

return position;

}

@Override

public View getView(int position, View

convertView, ViewGroup parent) {

// TODO Auto-generated method

stub

viewholder view=null;

if(convertView==null){

view=new

viewholder();

convertView=this.inflater.inflate(this.resource,

null);

//convertView.

convertView.setBackgroundResource(getbg(position)); view.tv=(TextView)convertView.findViewById(R.id.textView1);

convertView.setTag(view);

}else{

view=(viewholder)convertView.getTag();

}

view.tv.setText(list[position]);

return convertView;

}

private int getbg(int

position) {

// TODO Auto-generated method

stub

if(position==0&&list.length==1){ //仅一项

return

R.drawable.a_all;

}

if(position==0){ //第一项

return

R.drawable.a_top;

}

if(position==list.length-1){最后一项

return

R.drawable.a_bot;

}

return R.drawable.a_nor;

中间项

} private final

class viewholder{

private TextView tv;

}

}

listview设置:

android:id="@+id/mylv"

android:listSelector="@android:color/transparent"

android:cacheColorHint="@android:color/transparent" android:layout_width="match_parent"

android:layout_height="wrap_content" >

四个selector:1.中间项

android:state_pressed="true">

 

android:color="#d6ddf0">

android:state_focused="true">

 

android:color="#d6ddf0">

 

android:color="#ffffff">

2.第一项

android:state_pressed="true">

android:topRightRadius="8dip" />

android:color="#d6ddf0">

android:state_focused="true">

android:topRightRadius="8dip" />

android:color="#d6ddf0">

android:topRightRadius="8dip" />

android:color="#ffffff">

3.最后一项

android:state_pressed="true">

android:bottomRightRadius="8dip" />

android:color="#d6ddf0">

android:state_focused="true">

android:bottomRightRadius="8dip" />

android:color="#d6ddf0">

android:bottomRightRadius="8dip" />

android:color="#ffffff">

4.单独一项

android:state_pressed="true">

android:topRightRadius="8dip" android:bottomLeftRadius="8dip"

android:bottomRightRadius="8dip" />

android:color="#d6ddf0">

android:state_focused="true">

android:topRightRadius="8dip" android:bottomLeftRadius="8dip" android:bottomRightRadius="8dip"

/>

android:color="#d6ddf0">

android:topRightRadius="8dip" android:bottomLeftRadius="8dip" android:bottomRightRadius="8dip"

/>

android:color="#ffffff">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值