虽然谷歌的sdk已经给大家提供了诸多的接口去实现大家想要的界面,但是时常我们还是因为客户的需求,来对界面进行相应的修改,以更加适合业务的需要。

    在进行android界面设计的时候,我在使用AlertDialog进行弹出框的列表选择的时候,发现本来可以一屏显示的列表,因为谷歌自定义的列表样式,出现了滚动条,客户希望一屏就能显示。

    第一想到的就是重写AlertDialog的,然后再重新实现布局,但是觉得这样又需要去重写列表选择的功能,考虑到这样一个小的客户需求,重新去重新这么多的代码,实在得不偿失,就开始考虑其它的方法。

    最后通过查阅资料,发现可以调用setAdapter,在adapter中指定给item指定一个xml布局文件,然后在布局xml文件中定义相关样式。这样就可以轻松去设置每个Item的高度了和相关的样式了。

布局文件如下

 

            
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <TextView xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:id="@android:id/text1" 
  4.     style="?android:attr/spinnerItemStyle" 
  5.     android:singleLine="true" 
  6.     android:layout_width="fill_parent" 
  7.     android:layout_height="40dp" 
  8.     android:gravity="center_vertical" 
  9.     android:ellipsize="marquee" /> 

然后直接通过setAdapter()方法去调用即可,不再需要调用setItems();

调用代码如下

 

            
  1. spinner_handle = (Button) findViewById(R.id.method_result); 
  2.         spinner_handle.setOnClickListener(new View.OnClickListener() { 
  3.              
  4.             @Override 
  5.             public void onClick(View v) { 
  6.                 // TODO Auto-generated method stub 
  7.                 new AlertDialog.Builder(context) 
  8.                 .setTitle("请选择处理结果") 
  9.                 .setAdapter(new ArrayAdapter(MaintainBillActivity.this,R.layout.result_spinner_layout,handle_items) ,new DialogInterface.OnClickListener() {//调用适配器 
  10.                      
  11.                     @Override 
  12.                     public void onClick(DialogInterface dialog, int which) { 
  13.                         // TODO Auto-generated method stub 
  14.                         handle_method_result=handle_items[which]; 
  15.                         spinner_handle.setText(handle_method_result); 
  16.                     } 
  17.                 }) 
  18.                 .create().show(); 
  19.                  
  20.                  
  21.             } 
  22.         }); 

原图,列表项太宽,出现流动条

 

上传一下列表的效果图片

 

 

更多相关文章

  1. Android[学习] UI优化方案
  2. android适配器模式设计与实现
  3. android四大组件之Service服务之总体概述
  4. Android音量调节的实现(RingtoneManager和RingerVolumePreferenc
  5. Android调用WCFRest
  6. Android(安卓)MVC模式实例(一)
  7. 安卓ScrollView总结
  8. Android系统搜索对话框(浮动搜索框)的使用
  9. Android仿美团外卖点菜联动列表

随机推荐

  1. centos7 systemctl 开机自起 tomcat
  2. 双链表
  3. 强制GDM登陆界面到主显示器
  4. httprunner3.x遇到的问题(hrun make报错)
  5. Python显示周边全部的Pokemon小精灵
  6. 手动部署ceph octopus集群
  7. 从Dubbo内核聊聊双亲委派机制
  8. Python程序员招聘市场简要报告
  9. MySQL主从不同步问题解决
  10. 从解决开发环境问题聊聊为什么要看源码