標籤:
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 下拉式清單方塊、文字框、菜單