對於我的Android應用程序,我需要使用顯示XML樹的微調框。這棵樹是讓用戶理解他可以選擇的價值的級別。Android - 如何顯示有價值的微調框,但顯示不同的值
這裏是什麼,我現在所擁有的一個畫面:
正如你所看到的,我已經把一些小「>」和一些空間來模擬樹。我現在想要的是當用戶選擇一個條目時,顯示沒有這些符號的值。
今天,微調顯示這樣的值:
的詞是「>超市」,但我要的是「超市」,並且僅此而已。有沒有辦法修改微調器顯示的選定值,但不是列表?
我希望你能幫助我。
問候。
五
對於我的Android應用程序,我需要使用顯示XML樹的微調框。這棵樹是讓用戶理解他可以選擇的價值的級別。Android - 如何顯示有價值的微調框,但顯示不同的值
這裏是什麼,我現在所擁有的一個畫面:
正如你所看到的,我已經把一些小「>」和一些空間來模擬樹。我現在想要的是當用戶選擇一個條目時,顯示沒有這些符號的值。
今天,微調顯示這樣的值:
的詞是「>超市」,但我要的是「超市」,並且僅此而已。有沒有辦法修改微調器顯示的選定值,但不是列表?
我希望你能幫助我。
問候。
五
這是我用,如果有人需要它的代碼:
首先,代碼如下因素部分取代你的微調:
<RelativeLayout
android:layout_width="190dp"
android:layout_height="40dp"
android:layout_marginRight="5dp">
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/custom_spinner"
android:visibility="invisible" />
<Button
android:id="@+id/fake_btn"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/custom_spinner" />
<TextView
android:id="@+id/fake_text"
android:layout_width="140dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:gravity="center_vertical"
android:textColor="#000000" />
</RelativeLayout>
創建的名爲custom_spinner.xml
繪製文件夾一個新的XML文件,並把該代碼:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
android:state_pressed="false"
android:drawable="@drawable/spinner_pressed" />
<item
android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/spinner_pressed" />
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/spinner_pressed" />
<item
android:drawable="@drawable/spinner_normal" />
</selector>
下載這兩個圖片,並將它們添加到您的繪製文件夾(spinner_pressed.9.png
和spinner_normal.9.png
):
在你的活動中,添加以下變量:
private Spinner spinner;
private Button fake_btn;
private TextView fake_text;
在onCreate方法,添加:
spinner = (Spinner) findViewById(R.id.spinner);
fake_btn = (Button) findViewById(R.id.fake_btn);
fake_text = (TextView) findViewById(R.id.fake_text);
fake_btn.setOnClickListener(new OnClickListener() {
public void onClick(View v)
{
spinner.performClick();
}
});
spinner_manual.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView parentView, View childView, int position, long id)
{
String value = (String) spinner.getItemAtPosition(position);
fake_text.setText(value);
}
public void onNothingSelected(AdapterView parentView) {}
});
你來了,它應該工作。
你可以做到這一點的想法,
讓你的微調無形把微調 集的TextView文本後面的TextView的,以微調器選擇的項目與
textView.settext(spinner.getSelectedItem().replace(">","").trim()));
不要忘記將微調器放在textView上,否則你將無法獲得微調器點擊 事件
匹配的自定義圖像,此代碼不完整,您沒有添加將值替換爲Vipin建議的代碼。仍然我通過這個解決了我的問題,所以+1給你們兩個:) – 2013-04-19 06:13:23