首页 > 移动平台 > 详细

Android 默认显示两行的Spinner

时间:2014-04-13 07:53:54      阅读:713      评论:0      收藏:0      [点我收藏+]
  1.有时候看到明明是一个Spinner,但是点击之后弹出的明显是一个自定义的对话框;如果真的是Spinner的话是不可能实现这种效果的,Spinner点击效果有两种展现方式,一种是直接下拉显示数据,另一种是弹出对话框,但是对话框里也只能是数据的列表;那如果只有一条数据,然后这只onClick事件可不可以实现呢?答案是否定的,Spinner是不允许设置onClickListener的,只能设置onItemClickListener,所以无法在点击的时候弹出自定义的对话框;那之前看到的那个效果是如何实现的呢?哦然在stackflow上看到了对textView设置的style:style="@android:style/Widget.DeviceDefault.Light.Spinner" 
设置这个属性之后会发现,textview的扎实效果跟Spinner一样了,连selector都是一样的...然后再添加一个onClickListener,想要什么样的对话框都行了.....
     2.如何实现这样的效果:bubuko.com,布布扣bubuko.com,布布扣 ?
怎么让Spinner的显示有两行呢?当然这两行的内容肯定可以不一样,不然就没有意义了.....
我觉得应该有不知一种方法能实现;我的思路是在外层套一个RelativeLayout,然后先设置一个Spinner,然后下边放一个TextView,再设置好Spinner的paddingTop,值为 textview的textsize;
这样效果就出来了....有人可能会问为什么要先放Spinner呢?Spinner应该在下边才对啊,如果是RelativeLayout没有影响的话,那位置也是随意的啊?
     我一开始也是这样想的,就先放的是TextView,结果大致的布局效果是实现了,但是发现了一个小问题;当点击Spinner的时候,上边的TextView的子的颜色会变深,被Spinner点击时的selector盖住bubuko.com,布布扣bubuko.com,布布扣
如果对Android界面布局的构成有了解的话就会明白为什么后方TextView就不会被盖住了,因为Android的布局是从上到下以压栈的形式一个一个画的,这样先出现的布局就会在下边,后出现的就在上边,所以不会被挡住了.....这样就完美的实现了上面的效果了....
bubuko.com,布布扣
bubuko.com,布布扣

Android 默认显示两行的Spinner,布布扣,bubuko.com

Android 默认显示两行的Spinner

原文:http://blog.csdn.net/sweetvvck/article/details/23568465

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!