如何将自定义微调器内的文本推到右侧?

时间:2015-12-17 02:27:26

标签: android 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" />

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

我想将文本内部对齐设置在右侧,我该怎么做? 我应该在哪里设定引力?

2 个答案:

答案 0 :(得分:1)

您可以使用TextView创建自定义布局并使其重力正确。

&#13;
&#13;
<?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" />
&#13;
&#13;
&#13;

在Spinner中使用此布局作为资源。

&#13;
&#13;
arrayAdapter.setDropDownViewResource(android.R.layout.your_created_custom_layout);
&#13;
&#13;
&#13;

答案 1 :(得分: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>