无法在Android中制作微调器的背景颜色

时间:2014-03-26 11:03:28

标签: android xml android-layout

我想通过编程方式通过微调器的背景颜色,但我没有得到。这是我对xml和.java文件的描述。

第1步:这是我的微调器的xml文件。

    <?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="wrap_content"
    android:layout_margin="5dp"
    android:layout_marginTop="5dp"
    android:background="@drawable/yourorder_form_bg"
    android:orientation="vertical"
    android:padding="10dp"
    android:visibility="visible"
    android:weightSum="1" >

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

    />

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

在我的.java文件中,我写了

spinner1 = (Spinner) findViewById(R.id.spinner1);
    List<String> list = new ArrayList<String>();
    list.add("Android");
    list.add("Java");
    list.add("Spinner Data");
    list.add("Spinner Adapter");
    list.add("Spinner Example");

    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner1.setAdapter(dataAdapter);
    spinner1.setBackgroundColor(0x0000FF);

这里我没有收到任何错误,而且我只获得了LinearLayout背景颜色的颜色。

3 个答案:

答案 0 :(得分:0)

添加xml微调标签

            android:background="#color code"

就像这里编辑的代码

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


<Spinner
android:id="@+id/spinner2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
 android:background="#232323"
/>

答案 1 :(得分:0)

您可以在xml中设置旋转器背景颜色,如下所示:

android:background="YOUR_HEX_COLOR_CODE"

如果您使用下拉菜单和旋转器,您可以设置它的背景颜色:

android:popupBackground="YOUR_HEX_COLOR_CODE"

档案

  

RES /抽拉/ mybg.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:opacity="transparent">
    <item
        android:state_pressed="true">
        <shape android:shape="rectangle">
            <solid android:color="#AAFFAA00"/>
        </shape>
    </item>
    <item 
        android:state_selected="true">
        <shape android:shape="rectangle">
            <solid android:color="#AAFFAA00"/>
        </shape>
    </item>
    <item android:drawable="@drawable/ic_launcher"></item>
</layer-list>

sp1.setOnTouchListener(new OnTouchListener() {

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

答案 2 :(得分:0)

是的,您可以通过编程方式更改,只需检查已编辑的代码

spinner1 = (Spinner) findViewById(R.id.spinner1);
List<String> list = new ArrayList<String>();
list.add("Android");
list.add("Java");
list.add("Spinner Data");
list.add("Spinner Adapter");
list.add("Spinner Example");

ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(dataAdapter);
spinner1.setBackgroundColor(Color.GREEN);