2010-06-20 36 views
1

我已將spinner項目背景自定義爲黑色。但是,微調控件和每個微調控件項目之間的分隔線爲白色。 我想將分隔符顏色和邊框更改爲深灰色。如何更改微調控件的邊框和分隔線顏色

  • 我該如何改變這些顏色?
  • 是微調使用列表視圖或其他一些父項來填充微調項中的項目?
  • 如果是這樣,我可以更改父視圖的分隔符背景嗎?
+0

沒有你˚F把它取出來? – 2013-12-10 05:19:39

+0

使用使定製佈局膨脹的微調適配器。 [看到這個](http://stackoverflow.com/questions/17407626/custom-layout-for-spinner-item) – Shashank 2017-05-09 06:23:08

回答

-4

我想它確實可以作爲ListView

嘗試了這一點:

<Spinner 
    android:id="@+id/spinner" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:drawSelectorOnTop="true" 
    android:prompt="@string/your_prompt" 
    android:headerDividersEnabled="false" 
    android:footerDividersEnabled="true" 
    android:divider="@drawable/list_divider" 
/> 

和你list_divider是:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape> 
      <gradient 
       android:startColor="#000000" 
       android:centerColor="#CCCCCC" 
       android:endColor="#FFFFFF" 
       android:height="1px" 
       android:angle="0" /> 
     </shape> 
    </item> 
</layer-list> 

PS:也看看this教程。似乎它有很多關於自定義Spinners的信息。

+1

那麼沒有工作 – DKIT 2011-05-27 15:20:59

+0

不幸的是,微調的屬性是不一樣的ListView,所以你可以' t使用分頻器,頁腳ecc。 – 2013-01-04 10:23:28

0

首先,必須定義視圖(水平行),這是旋轉器的物品的分離器線,並且可以使用在運行時改變該分隔線顏色微調的setOnItemSelectedListener方法是這樣的:

View tview1 = (View) view.findViewById(R.id.v_1); 
tview1.setBackgroundResource(android.R.color.transparent); 

例如,XML文件:

<Spinner 
    android:id="@+id/move_branch" 
    android:backgroundTint="@color/color" 
    android:layout_width="0dp" 
    style="@style/Base.Widget.AppCompat.Spinner.Underlined" 
    android:layout_weight="1" 
    android:layout_height="wrap_content" /> 

MainActivity.java:

Spinner move_sem; // define spinner's id first 

move_sem.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
    @Override 
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) 
    { 
     View tview1 = (View) view.findViewById(R.id.v_1); 
     tview1.setBackgroundResource(android.R.color.transparent); 
     try 
     { 
      search_sem= Integer.parseInt(semid.get(position)); 
      semname=sem_list.get(position); 
     } 
     catch (Exception ignored) 
     { 
     } 
    } 
    @Override 
    public void onNothingSelected(AdapterView<?> parent) 
    { 
    } 
});