2014-03-26 45 views
2

我想要微調框的背景顏色通過編程方式,但我沒有得到。這裏是我對xml和.java文件的描述。無法在Android中製作微調框的背景顏色

第1步:這是我的微軟spinner的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的背景色的顏色。

+0

顯示更多的代碼。你如何初始化spinner1? – ElDuderino

回答

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" 
/> 
+0

通過編程我想達到那一個。 –

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); 
} 
} 
+0

我想通過編程獲得成功。 –

+0

http://stackoverflow.com/questions/20032594/android-need-to-change-the-spinner-background-color – Android

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);