2015-12-17 56 views
0

我創建了一個自定義的微調是這樣的:如何將自定義微調控件中的文本推送到右側?

<?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" /> 

</shape></item> 
<item ><bitmap android:gravity="center_vertical|right" android:src="@drawable/spinnerdropdownarrow" /> 
    </item> 
</layer-list></item> 

我想設置裏面的文字對齊到右側,我該怎麼辦呢? 我應該在哪裏設置重力?

回答

1

您需要設置微調項自己的佈局。

SpinnerAdapter adap = new ArrayAdapter<String>(this, R.layout.spinner_item, new String[]{"A", "B", "C"}); 
spriner.setAdapter(adap); 

哪裏R.layout.spinner_item是內容佈局:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent" 
    android:gravity="center" 
    android:textColor="#000000" 
    android:text="Sample Text" 
    android:paddingBottom="5dp" 
    android:paddingTop="5dp"></TextView> 
+0

如果我在string.xml中有一個字符串數組,我該如何調用它並將其替換爲新的String [] {「A」,「B」,「C」}? 我試過R.array.addclaim_type 但它說預期資源的類型ID –

1

您可以使用TextView創建自定義佈局,並賦予其權重。

<?xml version="1.0" encoding="utf-8"?> 
 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
 
    android:id="@android:id/text1" 
 
    style="?android:attr/spinnerItemStyle" 
 
    android:singleLine="true" 
 
    android:gravity"right" 
 
    android:layout_width="fill_parent" 
 
    android:layout_height="wrap_content" 
 
    android:ellipsize="marquee" />

而在微調使用此佈局資源。

arrayAdapter.setDropDownViewResource(android.R.layout.your_created_custom_layout);

+0

如果我有一個字符串數組保持結果我string.xml,我已經設置的條目微調到我的字符串數組。我如何簡單地爲我的微調器設置一個適配器? –

+0

無需更改任何其他代碼。它與ArrayAdapter中傳遞字符串數組的方式相同。 –

相關問題