Android 修改spinner 字体颜色 样式的方法

spinner 是Android自带的一个控件使用也很简单 可以用来实现下拉效果 也可以实现弹窗效果 具体实现可以的实现效果是下拉还是弹出 可以在spinner XML中android:spinnerMode="dropdown" 属性设置即可

今天我要写的是怎么去改变spinner的字体样式 在 xml 的属性中设置 字体颜色之类的属性完全没有效

为了解决这问题我们先来看spinner的使用方法

首先是需要有个 数据源 这个不提 接下来是要有个adapter

adapter在Android里的用处很多了 我们就来看看这个adapter 

new ArrayAdapter<String>(mContext, android.R.layout.simple_spinner_item, numbers);

需要传入三个参数 第二参数就是关键所在 看看这个布局的源码 :

<?xml version="1.0" encoding="utf-8"?>
<!--
/* //device/apps/common/assets/res/any/layout/simple_spinner_item.xml
**
** Copyright 2006, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License"); 
** you may not use this file except in compliance with the License. 
** You may obtain a copy of the License at 
**
**     http://www.apache.org/licenses/LICENSE-2.0 
**
** Unless required by applicable law or agreed to in writing, software 
** distributed under the License is distributed on an "AS IS" BASIS, 
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
** See the License for the specific language governing permissions and 
** limitations under the License.
*/
-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1"
    style="?android:attr/spinnerItemStyle"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:textAlignment="inherit"/>


其实就是一个textview

问题来了  只要我们在adapter里面传入自己定义的textview 就可以解决问题了

在自定义的textview布局xml中设置我们想要的属性就可以显示到spinner 上了


发布了56 篇原创文章 · 获赞 3 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/haoxuezhe1988/article/details/45644979
今日推荐