繁体   English   中英

无法管理在Spinner上更改文本颜色

[英]Can't manage to change text color on Spinner

我在SO上尝试过很多其他答案,但似乎没有一个对我有用。 我不确定我做错了什么。

这是我的xml:

<Spinner
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/product_category_spinner"
    android:theme="@style/AppartmentBlue" />

这是我的Java(它是一个DialogFragment扩展类):

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View v = inflater.inflate(R.layout.fragment_product_dialog, container, false);
    Spinner productCategory = (Spinner) v.findViewById(R.id.product_category_spinner);
    ArrayAdapter<String> spinnerAdapter =
            new ArrayAdapter<String>(getActivity().getApplicationContext(),
                    android.R.layout.simple_spinner_dropdown_item,
                    getResources().getStringArray(R.array.category_array));
    spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    productCategory.setAdapter(spinnerAdapter);

    // setCancelable(false);
    return v;
}

问题是,文字在非常明亮的灰色上是白色的。 默认情况下,如果它出现在黑色前景中,我就不需要触摸它。 为什么这样做? 我的主题来自Theme.Holo.Light.DarkActionBar

我不想在运行时设置它,我会有很多微调器,我希望它在应用程序中是全局的,我可以选择添加以后的主题。

我希望这有帮助:

我的微调器:

<Spinner
    android:id="@+id/spinner_cat"
    android:paddingLeft="0dp"
    android:paddingRight="0dp"
    android:paddingBottom="0dp"
    android:paddingTop="0dp"
    android:layout_marginStart="@dimen/left_margin_large"
    android:layout_marginLeft="@dimen/left_margin_large"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"/>

设置适配器:

private final int _singleItemRes = R.layout.simple_spinner_item;
private final int _dropdownRes = R.layout.simple_spinner_dropdown_item;

ArrayAdapter<String> adapter = new ArrayAdapter<String>(_handler.getContext(), _singleItemRes, getTitles());
adapter.setDropDownViewResource(_dropdownRes);

simple_spinner_item.xml:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:textColor="@color/actionbar_text"
    android:textSize="20sp"
    android:textStyle="normal"/>

simple_spinner_dropdown_item.xml:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/spinnerDropDownItemStyle"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:background="@color/primary_dark"
    android:ellipsize="marquee"
    android:layout_centerVertical="true"
    android:singleLine="true"
    android:paddingRight="@dimen/left_margin_small"
    android:paddingLeft="@dimen/left_margin_small"
    android:textColor="@color/actionbar_text"/>

如果我错过了答案中的任何内容,请告诉我,我会将其添加进去。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM