当前位置:  开发笔记 > Android > 正文

Android 6.0.1上的Spinner内部填充更大

如何解决《Android6.0.1上的Spinner内部填充更大》经验,为你挑选了1个好方法。

介绍:

随着Android 6.0.1的新版本,似乎Android对Spinner组件进行了一些更改,因为默认情况下,胡萝卜周围的内部填充更大一些.

我在一个应用程序中注意到了这一点,我没有修改代码中的任何内容,只是更新了设备上的操作系统,但是微调器的大小不同.

情况:

我有两个旋转器,一个在另一个旁边RelativeLayout(介意其余组件,我添加了所有内容,所以你可以看到这部分布局 - 删除了完全不必要的属性或视图ID)



    

        
    

    

    

        

        
        
    

Spinner适配器用于该getView()方法的布局如下:



    

    

为例:

屏幕截图结合了两个独立的截图:

    顶部的那个采用在Android 6.0上运行的Nexus 5设备

    下面的一个也是在Android 6.0.1上运行的Nexus 5设备上拍摄的

截图

编辑1

使用支持库中的AppCompatSpinner不会更改行为.使用的支持库版本是23.1.1



1> Mike..:

通过最小的努力,我能够通过为微调器构建自定义背景来解决这个问题.

使用AppCompatSpinner我必须为背景创建2 xmls,让我们称之为spinner_background.xml:

1.首先进入drawable文件夹,看起来像这样spinner_background.xml:



    
    

selector_background_borderless简单选择器在哪里(我添加了你需要的最小项目,你可以探索它是v21 +的涟漪替代品.实际上我建议你这样做):



    
    

并且bg_spinner_anchor是一个9patch PNG for the caret.我使用了这些资产:bg_spinner_anchor

2.第二个进入drawable-v23文件夹以正确支持纹波,如下所示spinner_background.xml:



    

    

ic_spinner_caret从Android源代码中使用的向量在哪里看起来像这样.你应该添加它也添加到您的drawable-v23文件夹:



    

积分从Android UI工具包转到alanv for Guidance!

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有