小工具知识网

当前位置: 首页 > 行业知识 > Android Studio开发之路(八)Spinner样式设置

行业知识

Android Studio开发之路(八)Spinner样式设置

2026-11-04 00:24:09 来源:互联网转载

一、需求

白色背景+显示下拉框按钮

问题:

设置Spinner的背景可以通过设置background: android:background="@color/white",但是一旦设置了这个值,右侧的下拉按钮就会消失

方法一、自定义一个style(不成功)

在drawable中添加一个spinner_style.xml,并添加以下内容,然后在布局文件中的Spinner中添加Style

                                                      
 

这里@drawable/ic_dropdown是一个下拉按钮图标,可以用自己现成的,也可以通过android image asset生成一个图标。下面是android image asset使用方法:

drawable右键->new->image asset进入下图页面,按照顺序操作,就会将下拉箭头图标保存到drawable中了。

但是! 这个在我这里不成功,它只显示了图标,背景没有变色

方法二、文字设置、各部分颜色设置 (不成功)

先在values->colors.xml中添加以下三个颜色:spinner_background_color、dropdown_item_selector_color、dropdown_background_color分别代表控件背景颜色、选中的项目颜色、下拉控件背景颜色

然后在styles.xml中添加上这三个颜色:

         @color/spinner_background_color        @color/dropdown_item_selector_color        @color/dropdown_background_color        @style/Widget.AppCompat.Spinner.Underlined    

然后在布局文件的Spinner的style指向它:

至于Spinner文字的设置如下:

在layout中添加一个spinner_item.xml文件,加入以下代码作为文字设置:

 

然后在java文件中,:

Spinner m_phoneSpinner=(Spinner)findViewById(R.id.spinner_phone); ArrayAdapter adapter = ArrayAdapter.createFromResource(this,               R.array.phone, R.layout.spinner_item);        m_phoneSpinner.setAdapter(adapter);

这里R.array.phone是下拉框各项条目,记录在strings.xml中:

    MarkCollectionTool            HUAWEI-Mate60        HUAWEI-Mate60pro        HUAWEI-P60        XIAOMI-14Ultra        OPPO-FIND-N3-FLIP        VIVO-X-FLOD3    

方法三、Spinner+imageView组合 (成功!)

直接进行Spinner的样式修改总是背景和下拉按钮不能共存,于是决定修改背景后在Spinner的上面叠加一个下拉图标,图标我就用的方法一中提到的image asset制作的图标。

                                            

如上述代码,将spinner和imageView用Relativelayout布局组装起来,将Relativelayout的宽度设置的与spinner宽度一样,这样的话在给imageView设置layout_alignParentRight和layout_alignTop就正好可以让imageview显示在spinner空间的上方靠右的位置。

上一篇:dw中站点服务器怎么设置?

下一篇:计算机怎么使用服务器?