2016-06-16 96 views
2

我正在開發一個Android應用程序,我必須爲微調項目實現自定義佈局。Android中微調器的自定義佈局

我會實現這樣的微調:

Spinner example 我要實現的「金箭頭和邊界」的問題。

這是我的代碼:

<Spinner 
    android:id="@+id/spinner_language" 
    android:layout_width="210dp" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:gravity="center_horizontal" 
    android:entries="@array/spinnerItems" 
    android:dropDownVerticalOffset="10dip" 
    android:dropDownHorizontalOffset="0dip"/> 

這是我的微調佈局:

<CheckedTextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/spinnerDropDownItemStyle" 
    android:singleLine="true" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textColor="@color/white" 
    android:background="@color/custom_black" 
    android:textSize="20dp" 
    android:paddingTop="10dp" 
    android:paddingBottom="10dp"/> 

我怎樣才能實現呢?

回答

1

我希望這可以幫到你..

1)在drawable folder ---> add spinner_bo rder.xml作爲微調框的邊界。

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="@android:color/black" /> 
    <corners android:radius="0dp" /> 
    <stroke 
     android:width="1dp" 
     android:color="#B4925A" /> 

2)在微調使用此下拉 「arrow_icon」 佈局設計ImageView的SRC

 <RelativeLayout 
       android:layout_width="210dp" 
       android:layout_height="wrap_content"   
       android:background="@drawable/spinner_border" 
       android:layout_gravity="center_horizontal" 
       android:orientation="horizontal"> 

       <Spinner 
        android:id="@+id/spinner2" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:layout_gravity="center" 
        android:background="@android:color/transparent" 
        android:gravity="center_horizontal" 
        android:entries="@array/spinnerItems" 
        android:spinnerMode="dropdown" /> 

       <ImageView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_centerVertical="true" 
        android:layout_gravity="center" 
        android:src="@drawable/arrow_icon" /> 

      </RelativeLayout> 

如果有任何其他疑問,請告知,謝謝...

+0

我只有1個問題,邊界沒問題,但下拉列表元素沒有。我想要每個元素的背景爲黑色,現在我看到白色背景,我如何設置顏色? – Mattia

+0

加入微調「android:popupBackground =」@ android:color/black「」 – Kush

+0

最後一個問題:我必須在我的微調中插入箭頭,我怎麼能做到這一點? 您的代碼添加一個圖像,但不是在微調(看我的形象) – Mattia

0

這是微調項目佈局:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,your_spinner_item_layout, arrayList); 

OFC drawableRight預棒棒糖設備:)

<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textSize="16sp" 
    android:textColor="#000000" 
    android:padding="5dip" 
    android:drawableRight="your_drawable" 
    android:drawableEnd="your_drawable"/> 

然後,你可以當你創建微調適配器,例如使用

+0

我不明白我必須插入「your_drawable」 – Mattia

+0

圖片/圖標,你想在文本的右側:) – Skye

+0

ohhh對不起,我誤解了:) – Skye