本人实学Android
这是网上下的一个ListView圆角的示例。
假如我想把设置1 item、设置2 item、设置3 item间隔开来,当然四个角都是圆角大侠们,该如何实现??CornerListView.javapublic class CornerListView extends ListView {
public CornerListView(Context context) {
super(context);
}
public CornerListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public CornerListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
int x = (int) ev.getX();
int y = (int) ev.getY();
int itemnum = pointToPosition(x, y); if (itemnum == AdapterView.INVALID_POSITION)
break;
else{
if(itemnum==0){
if(itemnum==(getAdapter().getCount()-1)){
setSelector(R.drawable.app_list_corner_round);
}else{
setSelector(R.drawable.app_list_corner_round_top);
}
}else if(itemnum==(getAdapter().getCount()-1))
setSelector(R.drawable.app_list_corner_round_bottom);
else{
setSelector(R.drawable.app_list_corner_shape);
}
}
break;
case MotionEvent.ACTION_UP:
break;
}
return super.onInterceptTouchEvent(ev);
}
}
RoundCornerActivity.javapublic class RoundCornerActivity extends Activity {
private CornerListView mListView = null;
ArrayList<HashMap<String, String>> map_list1 = null; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); getDataSource1();
// getDataSource2(); SimpleAdapter adapter1 = new SimpleAdapter(this, map_list1,
R.layout.simple_list_item_1, new String[] { "item" },
new int[] { R.id.item_title });
mListView = (CornerListView) findViewById(R.id.list1);
mListView.setAdapter(adapter1);
mListView.setOnItemClickListener(new OnItemListSelectedListener());
}
public ArrayList<HashMap<String, String>> getDataSource1() { map_list1 = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map1 = new HashMap<String, String>();
HashMap<String, String> map2 = new HashMap<String, String>();
HashMap<String, String> map3 = new HashMap<String, String>(); map1.put("item", "设置1");
map2.put("item", "设置2");
map3.put("item", "设置3"); map_list1.add(map1);
map_list1.add(map2);
map_list1.add(map3); return map_list1;
} class OnItemListSelectedListener implements OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
if (arg2 == 0) {
System.out.println("0");
}else{
System.out.println("1");
}
}
}
}
main.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white"
android:orientation="vertical" > <LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingLeft="25dp"
android:paddingTop="15dp" > <TextView
android:id="@+id/menu_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/setting"
android:textColor="@color/gray" />
</LinearLayout> <com.corner.test.CornerListView
android:id="@+id/list1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:background="@drawable/shape_bg_listview"
android:cacheColorHint="@null"/></LinearLayout>
simple_list_item_1.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_marginTop="10dip"
android:layout_height="match_parent"
android:orientation="vertical" > <RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dip"
android:paddingLeft="15dip"
android:paddingRight="5dip"
android:paddingTop="10dip" > <TextView
android:id="@+id/item_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:textColor="@color/gray"
android:textSize="15sp" /> <ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="16dp"
android:src="@drawable/arrow" />
</RelativeLayout></LinearLayout>
这是网上下的一个ListView圆角的示例。
假如我想把设置1 item、设置2 item、设置3 item间隔开来,当然四个角都是圆角大侠们,该如何实现??CornerListView.javapublic class CornerListView extends ListView {
public CornerListView(Context context) {
super(context);
}
public CornerListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public CornerListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
int x = (int) ev.getX();
int y = (int) ev.getY();
int itemnum = pointToPosition(x, y); if (itemnum == AdapterView.INVALID_POSITION)
break;
else{
if(itemnum==0){
if(itemnum==(getAdapter().getCount()-1)){
setSelector(R.drawable.app_list_corner_round);
}else{
setSelector(R.drawable.app_list_corner_round_top);
}
}else if(itemnum==(getAdapter().getCount()-1))
setSelector(R.drawable.app_list_corner_round_bottom);
else{
setSelector(R.drawable.app_list_corner_shape);
}
}
break;
case MotionEvent.ACTION_UP:
break;
}
return super.onInterceptTouchEvent(ev);
}
}
RoundCornerActivity.javapublic class RoundCornerActivity extends Activity {
private CornerListView mListView = null;
ArrayList<HashMap<String, String>> map_list1 = null; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); getDataSource1();
// getDataSource2(); SimpleAdapter adapter1 = new SimpleAdapter(this, map_list1,
R.layout.simple_list_item_1, new String[] { "item" },
new int[] { R.id.item_title });
mListView = (CornerListView) findViewById(R.id.list1);
mListView.setAdapter(adapter1);
mListView.setOnItemClickListener(new OnItemListSelectedListener());
}
public ArrayList<HashMap<String, String>> getDataSource1() { map_list1 = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map1 = new HashMap<String, String>();
HashMap<String, String> map2 = new HashMap<String, String>();
HashMap<String, String> map3 = new HashMap<String, String>(); map1.put("item", "设置1");
map2.put("item", "设置2");
map3.put("item", "设置3"); map_list1.add(map1);
map_list1.add(map2);
map_list1.add(map3); return map_list1;
} class OnItemListSelectedListener implements OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
if (arg2 == 0) {
System.out.println("0");
}else{
System.out.println("1");
}
}
}
}
main.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white"
android:orientation="vertical" > <LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingLeft="25dp"
android:paddingTop="15dp" > <TextView
android:id="@+id/menu_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/setting"
android:textColor="@color/gray" />
</LinearLayout> <com.corner.test.CornerListView
android:id="@+id/list1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:background="@drawable/shape_bg_listview"
android:cacheColorHint="@null"/></LinearLayout>
simple_list_item_1.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_marginTop="10dip"
android:layout_height="match_parent"
android:orientation="vertical" > <RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dip"
android:paddingLeft="15dip"
android:paddingRight="5dip"
android:paddingTop="10dip" > <TextView
android:id="@+id/item_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:textColor="@color/gray"
android:textSize="15sp" /> <ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="16dp"
android:src="@drawable/arrow" />
</RelativeLayout></LinearLayout>
解决方案 »
- 根据一张图片的Drawable对象怎么设置这张图片的大小?
- listView的removeFooterView执行后,listView点击事件失效,
- 下拉状态栏的日期怎么与设置的选择日期格式同步
- 用seekBar调整音量大小的问题。
- 一个竖屏跳转到另一个透明主题横屏(使用andengine),延迟切换成竖屏!
- android 播放socket发送的视频流问题
- android navigation drawer 如何添加Fragment?
- 如何将手机中的csv文件的内容导入到SQLite数据库中
- 关于基类继承类的调用问题
- 关于app版本自动更新发生“下载失败”的问题,求大神解救
- 最近学习Android的时候遇到些奇怪的问题,版本3.N和4.N使用不了HttpClient功能
- 图片处理问题
不固定,重写adapter ,getView的时候判断下,如果是第一个,换个背景,最后一个,换个背景
其他的就是默认背景