微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – Android中的Spinner颜色样式

我正在制作Spinner,如下图所示.它可以正常工作.但我想将背景颜色更改为#FFFFFF,将textColor更改为#000000.但我得到了修改输出……

enter image description here

java代码

Spinner staticSpinner = (Spinner)findViewById(R.id.static_spinner);
        ArrayAdapter<CharSequence> staticAdapter = ArrayAdapter.createFromresource(this,R.array.request_role,android.R.layout.simple_spinner_item);

        staticAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // Apply the adapter to the spinner
        staticSpinner.setAdapter(staticAdapter);

xml代码

<Spinner
         android:id="@+id/static_spinner"
         android:layout_width="150dp"
         android:layout_height="45dp"
         android:layout_marginLeft="30dp"
         style="@android:style/Widget.Holo.Light.DropDownItem"     ></Spinner>

simple_spinner_dropdown_item.xml

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/spinnerDropDownItemStyle"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="?android:attr/dropdownListPreferredItemHeight"
    android:ellipsize="marquee"
    android:textColor="#000000"

  />

simple_spinner_item.xml

<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:textColor="#000000"
    android:textAlignment="inherit"/>

styles.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat">

        <item name="colorPrimary">#0072BA</item>
        <item name="colorPrimaryDark">#004F80</item>
        <item name="colorAccent">#0072BA</item>
        <item name="android:textColorPrimary">#FFFFFF</item>
        <item name="colorControlHighlight">#FFFFFF</item>
        <item name="android:actionBarSize">48dp</item>
        <item name="actionBarSize">48dp</item>
        <item name="android:windowActionBar">false</item>

    </style>
</resources>

解决方法:

代码中使用此微调器

 <Spinner
    style="@style/edit_style"
    android:id="@+id/spr_city"
    android:background="@drawable/selector_spinner"
    android:layout_width="0dp"
    android:textColor="@android:color/white"
    android:minHeight="@dimen/min_height"
    android:textCursorDrawable="@null"
    android:textColorHint="@android:color/white"
    android:layout_height="fill_parent"
    android:layout_weight="9"
    />

并使用.xml风格制作这种风格

 <style name="edit_style" >
    <item name="android:textSize">14sp</item>
    <item name="android:textColor">#ffffff</item>
</style>

并在活动中使用此代码

       ArrayAdapter<String> adp1=new ArrayAdapter<String>        (activity,R.layout.spinner_item_selected,city_list);
    adp1.setDropDownViewResource(R.layout.spinner_item);
    s_city.setAdapter(adp1);

创建XML spinner_item_selected

<?xml version="1.0" encoding="utf-8"?>
<TextView
android:id="@+id/textViewSpinnerItem"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="@dimen/common_margin"
style="@style/edit_style"
android:textColor="@android:color/white"
xmlns:android="http://schemas.android.com/apk/res/android" />

还有一个xml

<?xml version="1.0" encoding="utf-8"?>


<TextView
android:id="@+id/textViewSpinnerItem"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="@dimen/common_margin"
style="@style/edit_style"
android:textColor="@color/spinner_item_selector"
xmlns:android="http://schemas.android.com/apk/res/android" />

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。