Android 下拉式清單方塊、文字框、菜單

來源:互聯網
上載者:User

標籤:

1、下拉式清單方塊(Spinner)

項目布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity" >    <Spinner        android:id="@+id/spinner"        android:layout_width="match_parent"        android:layout_height="wrap_content"          /></RelativeLayout>

添加相應代碼:

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Spinner spinner = (Spinner) findViewById(R.id.spinner);        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,                android.R.layout.simple_spinner_item); //系統sdk裡面的R檔案        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);        adapter.add("java");        adapter.add(".net");        adapter.add("php");                spinner.setAdapter(adapter);            }}

2、輸入內容自動完成文字框(AutoCompleteTextView)

AutoCompleteTextView和EditText組件類似,都可以輸入文本。但AutoCompleteTextView組件可以和一個字串數組或List對象綁定,當使用者輸入兩個及以上字元時,系統將在AutoCompleteTextView組件下方列出字串數組中所有以輸入字元開頭的字串,這一點和www.google.com的搜尋方塊非常相似,當輸入某一個要尋找的字串時,google搜尋方塊就會列出以這個字串開頭的最熱門的搜尋字串列表。

<AutoCompleteTextView android:layout_width="fill_parent“ android:layout_height="wrap_content“<!–- completionThreshold 指定至少輸入幾個字元後才會出現自動提示功能-->android:completionThreshold="1“ android:id="@+id/name" />

代碼比較簡單:

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                String[] names = { "老張", "老方", "老畢", "李明", "李麗", "陳江", "abc", "acc" };        AutoCompleteTextView nameText = (AutoCompleteTextView) this                .findViewById(R.id.name);        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,                android.R.layout.simple_dropdown_item_1line, names);        nameText.setAdapter(adapter);    }}

運行項目:

3、多次輸入-內容自動完成文字框(MultiAutoCompleteTextView)

除了AutoCompleteTextView控制項外,我們還可以使用MultiAutoCompleteTextView控制項來完成連續輸入的功能。也就是說,當輸入完一個字串後,在該字串後面輸入一個逗號(,),在逗號前後可以有任意多個空格,然後再輸入一個字串,仍然會顯示自動提示列表。
使用MultiAutoCompleteTextView時,需要為它的setTokenizer方法指定MultiAutoCompleteTextView.CommaTokenizer類對象執行個體,該對象表示採用逗號作為輸入多個字串的分隔字元。

<MultiAutoCompleteTextView android:layout_width="fill_parent“ android:layout_height="wrap_content“ 
<!– completionThreshold 指定至少輸入幾個字元後才會出現自動提示功能-->android:completionThreshold="1“ android:id="@+id/name" />

代碼如下:

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        String[] names1 = { "老張", "老方", "老畢", "李明", "李麗", "陳江", "abc", "acc" };        MultiAutoCompleteTextView nameText1 = (MultiAutoCompleteTextView) this                .findViewById(R.id.name1);        ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,                android.R.layout.simple_dropdown_item_1line, names1);        nameText1.setAdapter(adapter1);        nameText1.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());    }}

啟動並執行效果:

4、菜單(Menu)

將res/menu檔案夾下的main.xml檔案改名為menu.xml,並添加下面的代碼:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >    <item        android:id="@+id/item1"        android:title="我是菜單1">    </item>    <item        android:id="@+id/item2"        android:title="我是菜單2">    </item>    <item        android:id="@+id/item3"        android:title="我是菜單3">    </item></menu>

邏輯部分的代碼如下:

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.menu, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // 添加條目點擊事件        int id = item.getItemId();        switch (id) {        case R.id.item1:            Toast.makeText(this, "條目1被點擊了", 0).show();            break;        case R.id.item2:            Toast.makeText(this, "條目2被點擊了", 0).show();            break;        case R.id.item3:            Toast.makeText(this, "條目3被點擊了", 0).show();            break;        default:            break;        }        return super.onOptionsItemSelected(item);    }}

運行項目效果如下:

Android 下拉式清單方塊、文字框、菜單

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.