Spinner数据内容不可见

时间:2012-08-23 04:49:32

标签: android android-widget spinner android-spinner

我有一个旋转器。我从数据库中检索了SPINNER中的内容并将其绑定到Spinner。 但我的问题是Spinner窗口弹出的背景颜色是白色,内容的字体颜色也是白色。 所以除了选中之外,我无法在窗口中查看内容。

如何设置Spinner的字体颜色?

以下是活动代码:

我有一个旋转器。我已将SPINNER中的内容从数组绑定到Spinner。

String bloodgroups[]={
"A +ve" "B +ve"
};
Spinner spinner=(Spinner)findViewById(R.id.spin);
ArrayAdapter<String> adapter=new ArrayAdapter<String> this,android.R.layout.simple_dropdown_item_1line,bloodgroups);
spinner.setAdapter(adapter);

但我的问题是Spinner窗口弹出窗口的背景颜色是白色,内容的字体颜色也是白色。 所以除了选中之外,我无法在窗口中查看内容。

如何设置Spinner的字体颜色?

以下是附件:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/tc"
    android:orientation="vertical" >


    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:freezesText="false"
        android:text="Enter Name"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:typeface="monospace" />


    <EditText
        android:id="@+id/txtname"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter Date of Birth"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >


        <EditText
            android:id="@+id/txtdate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="date" />



        <Button
            android:id="@+id/btnseldate"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Select Date" />

    </TableRow>

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Select Blood Group"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter Address"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/txtadd"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPostalAddress" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter ContactNo. "
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/txtno"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="phone" />


    <Button
        android:id="@+id/btnadd"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Submit Details" />




    <Button
        android:id="@+id/btndisplay"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Show Details" />

</LinearLayout>    
</ScrollView>

enter image description here

以下是附件:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/tc"
    android:orientation="vertical" >


    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:freezesText="false"
        android:text="Enter Name"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:typeface="monospace" />


    <EditText
        android:id="@+id/txtname"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter Date of Birth"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >


        <EditText
            android:id="@+id/txtdate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="date" />



        <Button
            android:id="@+id/btnseldate"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Select Date" />

    </TableRow>

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Select Blood Group"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter Address"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/txtadd"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPostalAddress" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter ContactNo. "
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/txtno"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="phone" />


    <Button
        android:id="@+id/btnadd"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Submit Details" />




    <Button
        android:id="@+id/btndisplay"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Show Details" />

</LinearLayout>    
</ScrollView>

enter image description here

2 个答案:

答案 0 :(得分:1)

您需要创建自定义适配器,并在下拉列表中创建视图:

static class CustomArrayAdapter<T> extends ArrayAdapter<T>
{
    public CustomArrayAdapter(Context ctx, T [] objects)
    {
        super(ctx, android.R.layout.simple_spinner_item, objects);
    }

    //other constructors

    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent)
    {
        View view = super.getView(position, convertView, parent);

        //we know that simple_spinner_item has android.R.id.text1 TextView:         

        /* if(isDroidX) {*/
            TextView text = (TextView)view.findViewById(android.R.id.text1);
            text.setTextColor(Color.RED);//choose your color :)         
        /*}*/

        return view;

    }
}

使用:

 this.mAdapter = new CustomArrayAdapter<CharSequence>(this, bloodgroups);

答案 1 :(得分:0)

simple_spinner_item.xml

<TextView
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/text1"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:textColor="#000"
   android:gravity="center_vertical"
   android:padding="20dp"
   android:textSize="25dp"
   android:layout_marginTop="15dp"/>

并在您的活动中

ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this,R.layout.simple_spinner_item);
//adapter.add();====> Add items to the adapter here
spinner.setAdapter(adapterGender);