如何在微调器中设置背景颜色?

时间:2014-03-25 10:54:19

标签: android spinner

我正在使用自定义的微调器。 spiner的每个项目都是TextView,高度和宽度设置为wrap_Content属性。我还将spiner和textview的背景颜色设置为十六进制的相同颜色代码。

我的问题是 - 颜色只能在写入文本的区域可见,其余区域可见为白色。

任何人都可以告诉我需要设置什么属性,以便不会看到白色部分。 Spinner Image

下面是每个微调项目的布局 -

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00ffff"
android:textsize="14sp"
 >

Spinner项目在主布局中描述为

    <Spinner android:id="@+id/spiner"
    android:background="#00ffff"
    android:spinnerMode="dropdown"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    />

任何人都可以建议正确设置背景颜色需要做些什么。我附上了显示问题区域的图像

4 个答案:

答案 0 :(得分:3)

试试这个:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#00ffff"
android:textsize="14sp"
>

改变是:

android:layout_width="match_parent"

答案 1 :(得分:1)

改变这个:

android:layout_width="wrap_content"

到此:

android:layout_width="match_parent"

TextView

答案 2 :(得分:0)

以编程方式:

spinner.setPopupBackgroundResource(R.drawable.yourcolor);

答案 3 :(得分:0)

对于自定义微调器,

有一个样式,Say bg.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:state_pressed="true">
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF"/>
        </shape>
    </item>
    <item 
        android:state_selected="true">
        <shape android:shape="rectangle">
            <solid android:color="#FFAA00"/>
        </shape>
    </item>
</selector>

在您的代码中,

sp1 = (Spinner)findViewById(R.id.spinner1);

 sp1.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                sp1.setBackgroundResource(R.drawable.bg);
                return true;
            }
        });