可能重複對準https://stackoverflow.com/q/4545559/760489視圖集文本在旋轉中心的android
我要對齊微調,以中心的視圖的文本。我谷歌它,但沒有發現任何東西,有沒有人知道這件事?任何幫助或建議表示讚賞
感謝
可能重複對準https://stackoverflow.com/q/4545559/760489視圖集文本在旋轉中心的android
我要對齊微調,以中心的視圖的文本。我谷歌它,但沒有發現任何東西,有沒有人知道這件事?任何幫助或建議表示讚賞
感謝
爲您的微調這樣的適配器,
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, R.layout.my_spinner_style,array_of_values) {
public View getView(int position, View convertView,ViewGroup parent) {
View v = super.getView(position, convertView, parent);
((TextView) v).setTextSize(16);
return v;
}
public View getDropDownView(int position, View convertView,ViewGroup parent) {
View v = super.getDropDownView(position, convertView,parent);
((TextView) v).setGravity(Gravity.CENTER);
return v;
}
};
現在你的佈局R.layout.my_spinner_style,
<?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:textColor="#ffffff"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee" />
現在將此適配器設置爲您的微調器,
spinner.setAdapter(adapter);
您需要爲旋轉器項目設置自己的佈局。
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>
如果微調模式是彈出對話框,這不起作用 –
讓我完整的答案。在Spinner中騰出空間也很重要。
錯誤:
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
右:
<Spinner
android:id="@+id/spinner"
android:layout_width="100dp"
android:layout_height="wrap_content"
/>
晚了比賽,但我想補充這爲未來的用戶只是因爲我發現我的問題的簡單解決方案。它允許我在不創建自定義佈局的情況下集中簡單的文本。使用padding
<Spinner
android:id="@+id/example_spinner"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="2dp"
android:paddingBottom="2dp" />
我成功地使用這種方法我的微調內定中心我的文字我這樣做的方式是。這可能只適用於簡單的情況,但您可能想要爲更復雜的情況使用自定義佈局。這只是爲了保持你的XML文件,避免使用自定義佈局只是爲了居中一個簡單的微調。
這是否確實將文本置於所有設備上?或者它只適用於特定屏幕尺寸的特定設備? –
此作品,未經佈局更改
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
((TextView) adapterView.getChildAt(0)).setGravity(Gravity.CENTER);
}
});
這是非常簡單的,只需創建一個xml
文件命名爲spinner_item.xml
與內容
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#111111"
android:padding="10dp"
android:textAlignment="center"
/>
現在加入Android的默認的你java
類,inspite查看資源添加您的自定義查看資源爲
ArrayAdapter<String> adapter= new ArrayAdapter<String>(context, R.layout.spinner_item, myList);
adapter.setDropDownViewResource(R.layout.spinner_item);
textAlignment行將執行此操作。
幾個主題可能需要將微調器的水平填充設置爲0(或任何其他值,只要兩邊相等)以覆蓋可能偏移內部佈局的微調器細節。 – CurlyCorvus