2015-02-25 17 views
9

Tôi đang phát triển một ứng dụng cho ngôn ngữ RTL và muốn thay đổi vị trí của mũi tên ở bên trái của Spinner! Có cách nào để thực hiện việc này mà không cần tạo trình xoay tùy chỉnh không?Spinner với mũi tên ở bên trái

+0

Thêm người quen và giải thích lý do downVote? –

Trả lời

8

Bạn phải viết spinner tùy chỉnh. Mã mẫu dưới đây. Bạn có thể chỉnh sửa theo ý muốn.

<Spinner 
      style="@style/spinner_style" 
      android:layout_width="match_parent" 
      android:layout_height="wrap content" 
      /> 

@ style/spinner_style:

<style name="spinner_style"> 
    <item name="android:background">@drawable/background_spinner</item> 
</style> 

@ drawable/background_spinner

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item><layer-list> 
     <item><shape> 
       <solid android:color="@android:color/white" /> 
       <corners android:radius="4dp" /> 
       <padding android:left="8dp"/> 
      </shape></item> 
     <item><bitmap android:gravity="left" 
       android:src="@drawable/ic_arrow_drop_down_grey600_36dp"/>     
     </item> 
    </layer-list></item> 
</selector> 
3

Một cách dễ dàng và đơn giản để thiết mũi tên ở phía bên trái được, Bạn phải tạo file .xml trong thư mục có thể kéo cho điều đó như được viết bên dưới:

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

    <item> 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/colorWhite" /> 
     </shape> 
    </item> 
    <item 
     android:drawable="@drawable/ic_arrow_drop_down_black_24dp" 
     android:right="320dp"/> 
</layer-list> 

Bạn có thể điều chỉnh mã ở trên theo nhu cầu của mình. Và thiết lập tập tin này là nền tảng của một widget spinner như sau:

<Spinner 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/layout_spinner" 
     android:background="@drawable/arrow_left" 
     android:elevation="5dp"/> 
1

dummy.xml (drawable nên có kích thước-24dp rất thấp)

<?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:end="300dp"> 
       <bitmap android:src="@drawable/down_button_dummy_dummy" android:gravity="center"/> 
      </item> 
     </layer-list> 
    </item> 
</selector> 

đoạn file layout

<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

Các vấn đề liên quan