2017-02-07 223 views
0

我想創建一個自定義微調器,我遇到了這樣做的困難。android:自定義微調器

這是我想達到的效果是: Desired Effect

但是我覺得很難設置Spinner黑色的背景色。我曾嘗試設置android:background屬性,但是當我這樣做時,Spinner完全消失,就好像高度設置爲0.我非常感謝任何幫助。

而且,這裏是我使用的代碼:

<Spinner 
     android:id="@+id/simpleSpinner" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="20dp" 
     android:backgroundTint="@color/white" 
     android:background="@color/black" 
     /> 
+0

你必須使用自定義適配器微調。這將使您可以自由使用不同的下拉和普通視圖資源。 – priyankvex

回答

0

嘗試是這樣的:在佈局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="60dp" 
    android:background="@drawable/border" 
    android:gravity="center"> 

    <Spinner 
     android:id="@+id/spinner" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:background="@null" 
     android:textSize="16sp" /> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:src="@drawable/arrow_down" /> //your down arrow on right side 
</RelativeLayout> 

對於繪製邊界:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <stroke 
     android:width="2dp" 
     android:color="#ffffff" /> 

    <solid android:color="#000000" /> 
    <corners 
     android:radius="0dp" /> 

    <padding 
     android:bottom="1dp" 
     android:left="1dp" 
     android:right="1dp" 
     android:top="1dp" /> 
</shape> 

對於微調TextView的顏色使用項目的自定義佈局:spinner_item.xml

<?xml version="1.0" encoding="utf-8"?> 

<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textSize="20sp" 
    android:gravity="left" 
    android:textColor="#FFFFFF"   
    android:padding="5dp" 
    /> 
在Java中

:使用佈局

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item,list); 
+0

這個答案是正確的。但是,選擇微調器並打開它時,背景爲白色,因此不顯示選項。這是爲什麼? – Pia1