【问题标题】:How to change the text background color of a opened Spinner on Android如何在 Android 上更改已打开 Spinner 的文本背景颜色
【发布时间】:2013-02-24 07:18:17
【问题描述】:

我在我的应用程序中设置了这种 XML 样式,但是当我打开 Spinner 时,我看不到文本。 这是搜索信息的地方。我真的不知道我做错了什么。

这是 XML 样式:

<style name="Theme.Color" parent="android:Theme">
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:windowBackground">@drawable/fondo2</item>
</style>

这是 Spinner 的 XML:

            <Spinner
            android:id="@+id/spAnswers"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tvSecurity"
            android:entries="@array/box" />

当我打开 Spinner 时,会发生这种情况,我看不到文本(文本颜色为白色)。

只有在旋转器打开或文本背景发生变化时,我才需要将文本颜色设置为另一个。

【问题讨论】:

  • #FFFFFF==white 使用#000000
  • 我需要所有应用程序的文本颜色为白色,但是当我打开 Spinner 时它不好,我需要更改特定的文本颜色。
  • 然后只需在 Spinner xml 中添加 android:textColor="#000000" 或将 Spinner 背景设为黑色 android:background="#000000"
  • 我尝试将 android:textColor 添加到 Spinner xml,但它不允许我。
  • 还有android:background,当我加载应用程序时,我打开微调器并继续白色。

标签: android xml text styles spinner


【解决方案1】:

为您的 Spinner 创建适配器时,请提供自定义布局而不是预定义的布局

创建名为 spinner_row.xml 的 xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
 android:id="@+id/cust_view"  
    android:layout_width="match_parent" 
    android:textColor="@color/black"
    android:textSize="12dp"
    android:layout_height="36dp" 
    android:gravity="left|center_vertical"/> 

这里可以通过修改这个textview来改变spinner中Elements的颜色Text size和width和height

在创建适配器时像这样使用它

 ArrayAdapter<String> adapter=new ArrayAdapter<String>(context, R.layout.spinner_row,yourlist);

最后的任务是例行公事

spinner.setAdapter(adapter);

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 2016-08-07
    • 1970-01-01
    • 2018-12-25
    相关资源
    最近更新 更多