android 笔记——listView应用

上传人:鲁** 文档编号:381620378 上传时间:2022-11-10 格式:DOC 页数:16 大小:173KB
返回 下载 相关 举报
android 笔记——listView应用_第1页
第1页 / 共16页
android 笔记——listView应用_第2页
第2页 / 共16页
android 笔记——listView应用_第3页
第3页 / 共16页
android 笔记——listView应用_第4页
第4页 / 共16页
android 笔记——listView应用_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《android 笔记——listView应用》由会员分享,可在线阅读,更多相关《android 笔记——listView应用(16页珍藏版)》请在金锄头文库上搜索。

1、android上改变listView的选中颜色 ListView选中时默认是黄色,很多时候会和我们软件的配色不符合,那么我就教你如何修改默认的ListView配色,改变ListView选中颜色有两个方法: 1. 在程序中: Java代码 1 Drawable drawable=getResources().getDrawable(R.drawable.touch_feedback); 2 ListView.setSelector(drawable); 2. 在xml里面的ListView标签下添加: Java代码 3 android:listSelector=”#00000000 /后面的颜色

2、可以自己定这样写是透明的 记录和恢复ListView滚动的位置 有时候我们需要记录当前ListView滚动到的位置,重新加载的时候要回到原位,不罗嗦,给出代码: Java代码 4 /列表滚动 5 private OnScrollListener ScrollLis = new OnScrollListener() 6 7 Override 8 public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) 9 10 11 Override 12 public void onScrollStateChanged(AbsLi

3、stView view, int scrollState) 13 if(scrollState=OnScrollListener.SCROLL_STATE_IDLE) 14 ListPos=list.getFirstVisiblePosition(); /ListPos记录当前可见的List顶端的一行的位置 15 16 17 ; 接下来就是还原位置,放在ListView加载之后: Java代码 18 list.setSelection(ListPos); 关于android ListView的美化 用心的朋友应该会发现,listview中在设置了背景之后。会有些问题。 1.、listview在

4、拖动的时候背景图片消失变成黑色背景。等到拖动完毕我们自己的背景图片才显示出来。 2 、listview的上边和下边有黑色的阴影。 3、lsitview的每一项之间需要设置一个图片做为间隔。 针对以上问题 在listview的xml文件中设置一下语句。 问题1 有如下代码结解决 android:scrollingCache=”false” 或 android:cacheColorHint=”#00000000 问题2 用如下代码解决:android:fadingEdge=”none” 问题3 用如下代码解决: android:divider=”drawable/list_driver” 其中 d

5、rawable/list_driver 是一个图片资源 ListView拖动时背景黑色的问题 我们知道在Android中ListView是一个比较常用的UI控件,我们在大部分开发中都需要用到它,因此Android为我们提供了ListView的多种实现方法,通过自定义显示布局让显示的内容更加美观,但是我们会发现这样一个问题,当我们操作ListView的时候,如果不使用手机上下按键的时候,直接用触摸拖动视图的方式,会发现ListView的背景一片黑色,而且所有被选中的文字都变成一片漆黑。 其实这个问题发生的原因在于ListView存在缓存颜色机制,因此我们可以通过设定缓存颜色为透明的方法来解决这个

6、问题。ATAAW.COM提供两个解决方法供大家使用,如下所示: A、通过布局属性来设定(ListView的属性中直接定义) android:cacheColorHint=”#00000000 B、在代码中直接设定 listView.setCacheColorHint(Color.TRANSPARENT); 这样就可以解决黑色出现的问题了。 ListView 中添加按钮,动态删除添加ItemView的操作 要实现添加按钮的操作,必须自定义Adapter,使用Button View的setTag()方法,将Button所属的位置设置到tag当中要实现动态添加删除ItemView的操作,必须首先调整

7、调整Adapter所绑定的数据源,然后调用Adapter的notifyDataSetChanged()方法 以下为实现的一个实例 Java代码 19 package com.jason.joysmsyd; 20 21 import java.util.ArrayList; 22 import java.util.HashMap; 23 import java.util.List; 24 import java.util.Map; 25 26 import android.app.ListActivity; 27 import android.content.Intent; 28 import

8、android.os.Bundle; 29 import android.view.LayoutInflater; 30 import android.view.View; 31 import android.view.ViewGroup; 32 import android.view.Window; 33 import android.view.View.OnClickListener; 34 import android.widget.BaseAdapter; 35 import android.widget.Button; 36 import android.widget.EditTex

9、t; 37 import android.widget.TextView; 38 39 public class SendMain extends ListActivity implements OnClickListener 40 41 Button buttonMessage,buttonContact,buttonHistory; 42 EditText textMessage; 43 44 ListMap contacts = new ArrayListMap(); 45 46 47 48 Override 49 protected void onCreate(Bundle saved

10、InstanceState) 50 / TODO Auto-generated method stub 51 super.onCreate(savedInstanceState); 52 this.requestWindowFeature(Window.FEATURE_NO_TITLE); 53 54 this.setContentView(R.layout.layout_send); 55 56 buttonMessage = (Button) this.findViewById(R.id.ButtonMessage); 57 buttonContact = (Button) this.fi

11、ndViewById(R.id.ButtonContact); 58 buttonHistory = (Button) this.findViewById(R.id.ButtonHistory); 59 60 textMessage = (EditText)this.findViewById(R.id.EditTextMessage); 61 textMessage.setText(this.getIntent().getExtras().getString(message); 62 63 64 65 public void onClick(View v) 66 / TODO Auto-gen

12、erated method stub 67 switch(v.getId() 68 case R.id.ButtonMessage: 69 this.finish(); 70 break; 71 case R.id.ButtonContact: 72 73 Intent intent = new Intent(); 74 intent.setAction(com.jason.action.contact); 75 this.startActivityForResult(intent, 0); 76 77 break; 78 case R.id.ButtonHistory: 79 80 Inte

13、nt intent = new Intent(); 81 intent.setAction(com.jason.action.history); 82 this.startActivityForResult(intent, 1); 83 84 break; 85 86 87 88 89 90 protected void onActivityResult(int requestCode, int resultCode, Intent data) 91 / TODO Auto-generated method stub 92 super.onActivityResult(requestCode, resultCode, data); 93 if (requestCode = 0 & resultCode = RESULT_OK) 94 this.getcontactFromString(data.getExtras().getString( 95

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号