Android开发中view状态变化样式篇

浏览:
字体:
发布时间:2013-12-22 23:48:28
来源:

 

1 首先是 定义 item的 selector drawablelistview_item_pressed.xml

[html] 
  1. android:state_pressed=true
  2. android:drawable=@drawable/listview_item_selected_bg />
  3. android:state_pressed=false
  4. android:drawable=@drawable/listview_unseleceted />
  5.  

    2 把selector 添加入 item ,这里采用的是 添加进 item 采用的布局文件中

    [html] 
    1. android:layout_width=fill_parent
    2. android:background=@drawable/listview_item_pressed
    3. android:orientation=horizontal
    4. android:layout_height=56dp>...


      3 在 适配器中 getView 方法里 添加 点击事件,也可以在 listView 中的 onItemClick()方法中处理

       

      [java] 
      1. convertView.setTag(position);
      2. convertView.setOnClickListener(new View.OnClickListener() {
      3.  
      4. @Override
      5. public void onClick(View v) {
      6. // TODO Auto-generated method stub
      7. if(oldView == null){
      8. //第一次点击
      9. oldView = v;
      10. v.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.listview_item_selected_bg));
      11. }else{
      12. //非第一次点击
      13. //把上一次点击的 变化
      14. oldView.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.list_pressed));
      15. v.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.listview_item_selected_bg));
      16. //保存oldView
      17. oldView = v;
      18. }
      19.  
      20. }
      21. });
      22.  
      23. if(oldView != null && (position == (Integer)oldView.getTag())){// 为点击 item
      24. convertView.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.listview_item_selected_bg));
      25. }else{
      26. convertView.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.list_pressed));
      27. }

        ============================

         

        UI设计中,按钮一般都会有多个状态,比如:聚焦、点击等,不同的状态必须显示不同的呈现形式(比如颜色、形状的改变),这样用户才能感觉到按钮被成功选中、点击了,否则用户体验就会非常差了。

         

        本篇文章就简单地描述一下Android开发中,如何动态改变Button状态切换时的背景。

         

        Android的UI设计中,默认情况下,系统会为Button的点击实现一个默认的背景切换。

         

        例如下面这样的一个Button:

         

        1 2 3 <Button android:layout_width=wrap_content android:layout_height=wrap_content />

         

        用户在点击Button的时候,会有一个蓝色外框显示出来,表明Button被点击了。如图所示:

         

         

        但是,如果想为Button添加自定义的图片背景,如:

         <喎

>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();