




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 /后面的颜色可以自己定这样写是透明的 记录和恢复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(AbsListView 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在拖动的时候背景图片消失变成黑色背景。等到拖动完毕我们自己的背景图片才显示出来。 2 、listview的上边和下边有黑色的阴影。 3、lsitview的每一项之间需要设置一个图片做为间隔。 针对以上问题 在listview的xml文件中设置一下语句。 问题1 有如下代码结解决 android:scrollingCache=”false” 或 android:cacheColorHint=”#00000000 问题2 用如下代码解决:android:fadingEdge=”none” 问题3 用如下代码解决: android:divider=”drawable/list_driver” 其中 drawable/list_driver 是一个图片资源 ListView拖动时背景黑色的问题 我们知道在Android中ListView是一个比较常用的UI控件,我们在大部分开发中都需要用到它,因此Android为我们提供了ListView的多种实现方法,通过自定义显示布局让显示的内容更加美观,但是我们会发现这样一个问题,当我们操作ListView的时候,如果不使用手机上下按键的时候,直接用触摸拖动视图的方式,会发现ListView的背景一片黑色,而且所有被选中的文字都变成一片漆黑。 其实这个问题发生的原因在于ListView存在缓存颜色机制,因此我们可以通过设定缓存颜色为透明的方法来解决这个问题。ATAAW.COM提供两个解决方法供大家使用,如下所示: A、通过布局属性来设定(ListView的属性中直接定义) android:cacheColorHint=”#00000000 B、在代码中直接设定 listView.setCacheColorHint(Color.TRANSPARENT); 这样就可以解决黑色出现的问题了。 ListView 中添加按钮,动态删除添加ItemView的操作 要实现添加按钮的操作,必须自定义Adapter,使用Button View的setTag()方法,将Button所属的位置设置到tag当中要实现动态添加删除ItemView的操作,必须首先调整调整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 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.EditText; 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 savedInstanceState) 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.findViewById(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-generated 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 Intent 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 UserSelectActivity.RETURN_LIST); 96 bindDataToList(); 97 98 99 100 private void getcontactFromString(String data) 101 if (data = null | data.length() = 0) 102 return; 103 104 105 106 String arrayContact = data.split(#); 107 for (String singleContact : arrayContact) 108 if (singleContact != null & singleContact.length() 0) 109 String props = singleContact.split(:); 110 if (props.length = 2) 111 Map contact = new HashMap(); 112 contact.put(name, props0); 113 contact.put(phone, props1); 114 contacts.add(contact); 115 116 117 118 119 120 121 122 123 private void bindDataToList() 124 this.setListAdapter(new MyAdapter(); 125 126 127 public class MyAdapter extends BaseAdapter 128 129 public int getCount() 130 / TODO Auto-generated method stub 131 return contacts.size(); 132 133 134 public Object getItem(int position) 135 / TODO Auto-generated method stub 136 return contacts.get(position); 137 138 139 public long getItemId(int position) 140 / TODO Auto-generated method stub 141 return position; 142 143 144 145 public View getView(int position, View convertView, ViewGroup parent) 146 / TODO Auto-generated method stub 147 LayoutInflater inflater = SendMain.this.getLayoutInflater(); 148 final View view = inflater.inflate(R.layout.layout_user_item, null); 149 final TextView textPhone = (TextView) view.findViewById(R.id.text1); 150 final TextView textName = (TextView) view.findViewById(R.id.text2); 151 Button button = (Button)view.findViewById(R.id.buttonDelete); 152 153 textPhone.setText(contacts.get(position).get(phone); 154 textName.setText(contacts.get(position).get(name); 155 156 button.setTag( position); 157 158 button.setOnClickListener(new OnClickListener() 159 160 public void onClick(View v) 161 / TODO Auto-generated method stub 162 int position = Integer.parseInt(v.getTag().toString(); 163 contacts.remove(position); 164 MyAdapter.this.notifyDataSetChanged(); 165 166 / SendMain.this.getListView().refreshDrawableState(); 167 ); 168 169 170 171 172 return view; 173 174 175 176 Android ListView 清单与其Trigger 触发事件 Android ListView 清单与其选择时的触发事件, 可以参考下面的程式范例 : Java代码 177 public class helloWorld extends Activity 178 179 String vData = null; 180 181 public void onCreate(Bundle savedInstanceState) 182 super.onCreate(savedInstanceState); 183 184 / 要做为ArrayAdapter的资料来源 185 vData = new String足球,棒球,篮球; 186 187 / 建立阵列接收器 188 ArrayAdapter arrayData = new ArrayAdapter( 189 this 190 , android.R.layout.simple_list_item_1 191 , vData 192 ); 193 194 / 建立ListView 物件 195 ListView lv = new ListView(this); 196 197 / 设定ListView 的接收器, 做为选项的来源 198 lv . setAdapter ( arrayData ); 199 200 / ListView 设定Trigger 201 lv . setOnItemClickListener ( new OnItemClickListener() 202 203 public void onItemClick (AdapterView arg0, View arg1, int arg2, 204 long arg3) 205 / TODO Auto-generated method stub 206 setTitle( getResources().getString(R.string.app_name) + : + vData arg2 ); 207 208 ); 209 210 / 设定ListView 为ContentView 211 setContentView(lv); 212 213 Android中的ListView内容刷新问题 最近在学习Android的listView控件时遇到了一个问题,如何添加一个Item到ListView中并及时的刷新出来。在网上查了很多帖子,很多人在问,也很多人在解答,但是总的来说都没找到详细的解决方案。对于ListView与数据库的同步,高手们建议使用ContentProvider对象。但是如果我不使用数据库呢?也有人回答用notifyDataSetChanged()方法。这倒是一个正确的解决方案,但是对于新手来说,还是比较困惑怎么去用,这里我贴一下我的用法: J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锡膏印刷刮刀过长会怎么样
- 危重急症抢救流程解析及规范题库(附答案)
- 2025年质量安全知识竞赛题库及答案解析
- 2025年铌铁合作协议书
- 写毕业论文心态
- 风电场气象监测与数据采集
- 2024年青少年百科知识竞赛必刷题库及答案(共60题)
- 静脉输液护理组题库(附答案)
- 2025年汽车电器维修工高级理论试题(附答案)
- 毕业论文难的专业
- 第二章 处方调剂课件
- GB/T 16288-2024塑料制品的标志
- 山岳型旅游景区安全管理规范DB41-T 1941-2020
- 2025年公务员考试时政专项测验100题及答案
- TSG ZF003-2011《爆破片装置安全技术监察规程》
- GB/T 17988-2024食具消毒柜性能要求和试验方法
- APQC跨行业流程分类框架(PCF)V7.4版-2024年8月21日版-雷泽佳编译
- 高中生物必修二试卷加详细答案
- JTT 203-2014 公路水泥混凝土路面接缝材料
- 珠宝首饰赔偿协议书
- 普通地质学完整版课件
评论
0/150
提交评论