2016-03-03 67 views
0
<LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 
     <Spinner 
      android:id="@+id/spinner1_day" 
      android:layout_width="70dp" 
      android:layout_height="40dp" 
      android:src="@drawable/edit_text_style" 
      android:text="Day" 
      android:textStyle="normal" 
      android:textSize="15dp" 
      android:fontFamily="sans-serif-light" 
      android:drawSelectorOnTop="true" 
      android:entries="@array/Day" 
      android:dropDownWidth="fill_parent" 
      android:background="@drawable/downimage"/> 
     <Spinner 
      android:id="@+id/spinner2_month" 
      android:layout_width="70dp" 
      android:layout_height="40dp" 
      android:background="@drawable/edit_text_style" 
      android:text="Day" 
      android:textStyle="normal" 
      android:textSize="15dp" 
      android:fontFamily="sans-serif-light" 
      android:drawSelectorOnTop="true" 
      android:entries="@array/Day" 
      android:layout_gravity="center_horizontal" 
      android:layout_weight="0.81" 
      android:layout_marginLeft="10dp" 
      /> 
    </LinearLayout> 

我用android:dropDownWidth="fill_parent"android:background="@drawable/downimage"但background.how可以在右下角設置的離心器內的ImageView圖像將被設置?微調裏面如何設置的ImageView在右上角

+0

http://stackoverflow.com/questions/25028202/android-add-arrow-image-to-spinner – Madhur

回答

0

使用此

與任何名稱,例如spinner_bg.xml創建繪製文件夾中的XML,並添加以下行

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item><layer-list> 
     <item><shape> 
       <gradient android:angle="90" android:endColor="#ffffff" android:startColor="#ffffff" android:type="linear" /> 

       <stroke android:width="1dp" android:color="#504a4b" /> 

       <corners android:radius="5dp" /> 

       <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" /> 
      </shape></item> 
     <item ><bitmap android:gravity="bottom|right" android:src="@drawable/spinner_ab_default_holo_dark_am" /> // you can use any other image here, instead of default_holo_dark_am 
     </item> 
     </layer-list></item> 

</selector> 

以下行添加到您的styles.xml這是內部值文件夾

<style name="spinner_style" > 
     <item name="android:background">@drawable/spinner_bg</item> 
     <item name="android:layout_marginLeft">10dp</item> 
     <item name="android:layout_marginRight">10dp</item> 
     <item name="android:layout_marginBottom">10dp</item> 
     <item name="android:paddingLeft">8dp</item> 
     <item name="android:paddingTop">5dp</item> 
     <item name="android:paddingBottom">5dp</item> 

現在將此樣式添加到喲烏爾微調爲

<Spinner 
      android:id="@+id/spinner1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      style="@style/spinner_style" 
      android:popupBackground="#cccccc" /> 

有關更多詳情,請點擊這裏。在XML Android add arrow image to spinner

+0

由於這是工作... .. –

+0

如果此答案對您有幫助,請接受答案。 – 2016-03-03 07:16:24

+0

這是一個正確的答案先生.....我是新的這個領域..... –

0

嘗試drawableRight屬性來設置它放在右側的微調:

android:drawableRight="@drawable/downimage" 
0

我以解決在我身邊這個問題下面簡單的代碼

<RelativeLayout 

     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     > 

     <Spinner 
      android:id="@+id/spinner" 
      android:layout_width="match_parent" 
      android:gravity="center" 
      android:layout_height="wrap_content"/> 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_centerVertical="true" 
      android:layout_marginRight="10dp" 
      android:layout_alignParentRight="true" 

      android:src="@drawable/ambilwarna_arrow_down" /> 

    </RelativeLayout> 

希望這會工作爲你。保持編碼

0

嘗試使用FrameLayout創建自定義微調器,我使用這個,並且效果不錯

<FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="50dp" 
    android:background="@drawable/border_spinner_select_location" 
    > 
<Spinner 
    android:spinnerMode="dialog" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/spinner_provinsi" 
    android:prompt="@string/promp" 
    android:background="@drawable/spinner_pressed" 
    ></Spinner> 

    <ImageView 
     android:layout_width="23dp" 
     android:layout_height="30dp" 
     android:src="@drawable/ico_arrow_select_white_xxhdpi" 
     android:layout_gravity="right|center_vertical" 
     android:layout_marginRight="25dp" 
     /> 
</FrameLayout> 

的邊界線:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:thickness="0dp" 
    android:shape="rectangle"> 
    <solid android:color="@android:color/transparent" /> 
    <stroke android:width="2dp" 
     android:color="@android:color/white" /> 
</shape> 

的效果,當你按下微調

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_enabled="false" 
     android:drawable="@android:color/white" /> 
    <item android:state_pressed="true" 
     android:drawable="@color/deep_white_pressed_spinner" /> 
    <item android:state_pressed="false" android:state_focused="true" 
     android:drawable="@android:color/holo_blue_bright" /> 
    <item android:drawable="@color/semi_white_transparant" /> 

</selector> 
2
   <LinearLayout 
       android:id="@+id/layoutSpinner" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/input_field" 
       android:orientation="horizontal" 
       android:padding="5sp"> 

       <Spinner 
        android:id="@+id/spinner_area" 
        android:layout_width="0sp" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_weight="9" 
        android:background="@null" 
        android:entries="@array/state" 
        android:gravity="center" 
        android:prompt="@string/area_prompt" 
        android:spinnerMode="dropdown" /> 

       <ImageView 
        android:id="@+id/errow" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_vertical" 
        android:padding="5sp" 
        android:src="@drawable/arrow1" /> 
      </LinearLayout> 
0

dummy.xml(繪製應該是非常少的大小24dp的)

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <layer-list android:opacity="transparent"> 
      <item android:width="100dp" android:gravity="right"> 
       <bitmap android:src="@drawable/down_button_dummy_dummy" android:gravity="center"/> 
      </item> 
     </layer-list> 
    </item> 
</selector> 

佈局片段是這樣......

<android.support.v7.widget.CardView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:cardUseCompatPadding="true" 
     app:cardElevation="5dp" 
     > 
    <Spinner 
     android:layout_width="match_parent" 
     android:layout_height="100dp" 
     android:background="@drawable/dummy"> 

    </Spinner> 
    </android.support.v7.widget.CardView> 

click here for rendered layout