Spinner只在Motorola Defy 2.2上显示所选文本?

时间:2013-06-23 10:08:19

标签: android android-layout android-spinner

关于在我的摩托罗拉Defy 2.2中显示从微调器中选择的文本,我有一个奇怪的问题。我创建了一个具有微调器的布局,用户可以从中选择一个选项,但问题是即使我从微调器列表中选择一个项目它永远不会在框中显示该项目。我知道默认情况下defy中的文本颜色是白色,我的布局背景也是白色会隐藏文本,但我还在布局中为微调器指定了text-color属性为黑色它仍然没有显示文本。我的布局如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20.0dip"
                android:layout_marginRight="20.0dip"
                android:layout_marginTop="7.0dip"
                android:background="@drawable/rectangle_shape" >

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:layout_gravity="right|center"
                    android:gravity="right|center"
                    android:paddingBottom="7.0dip"
                    android:paddingLeft="10.0dip"
                    android:paddingRight="8.0dip"
                    android:paddingTop="7.0dip"
                    android:text="Concession"
                    android:textColor="@color/white"
                    android:textSize="16.0sp" />

                <Spinner
                    android:id="@+id/CSpinner"
                    android:layout_width="0.0dip"
                    android:layout_height="fill_parent"
                    android:layout_weight="1.0"
                    android:background="@drawable/rectangle_shape_middle"
                    android:entries="@array/C_arrays"
                    android:paddingLeft="6.0dip"
                    android:prompt="@string/C_prompt"
                    android:textColor="@color/black"
                    android:textSize="16.0sp" />

                <ImageView
                    android:id="@+id/SpinnerSelector"
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:layout_gravity="right"
                    android:background="@drawable/rectangle_shape_end"
                    android:paddingLeft="3.0dip"
                    android:paddingRight="3.0dip"
                    android:src="@drawable/ic_navigation_expand" />
            </LinearLayout>
</LinearLayout>

该代码在其他手机上运行良好,例如三星galaxy s2,s3和Note。请帮帮我。

先谢谢

1 个答案:

答案 0 :(得分:1)

我正在回答我自己的问题,因为它可能有助于其他人。摩托罗拉违抗的问题是它将默认文本颜色设置为白色,而对于微调器我们不能使用android:textColor="@color/white"因为它们不起作用。要更改微调器的文本颜色,我们需要使用以下代码:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MooTheme" parent="android:Theme">
        <item name="android:spinnerItemStyle">@style/MooSpinnerItem</item>
    </style>

    <style name="MooSpinnerItem" parent="android:Widget.TextView.SpinnerItem">
        <item name="android:textAppearance">@style/MooTextAppearanceSpinnerItem</item>
    </style>

    <style name="MooTextAppearanceSpinnerItem" parent="android:TextAppearance.Widget.TextView.SpinnerItem">
        <item name="android:textColor">#F00</item>
    </style>
</resources>

现在我们只需要将MooTheme应用到我们的应用程序中,您就会开始在微调器中看到文本。