顯示具有 實做 標籤的文章。 顯示所有文章
顯示具有 實做 標籤的文章。 顯示所有文章

2011年9月28日 星期三

Android UI 元件整理 (二)


Spinner

下拉式選單的用法與之前所提到的 Button 或是 CheckBox 等方式略有不同,下拉式選單可以利用 Adapter 將選項與物件綁在一起,而 Adapter 本身的角色則提供了一系列的操作,可以方便於選項的增刪選擇,此處所使用的是 ArrayAdapter ,與之綁定的資料為字串陣列,最後再將此 Adapter 設定給下拉式選單,即完成了 Spinner、Adapter與資料三者的綁定。此範例的功能為選擇每一個顏色後,即在上方的 TextView上顯示。

原始碼

package nchu.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

public class test extends Activity {
private static final String[] m_colors ={"red","blue","white"};

private TextView m_textview;
private Spinner m_spinner;
private ArrayAdapter adapter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

m_textview = (TextView)findViewById(R.id.textView1);
m_spinner = (Spinner)findViewById(R.id.spinner1);
adapter = new ArrayAdapter (this,android.R.layout.simple_spinner_dropdown_item,m_colors);
m_spinner.setAdapter(adapter);

m_spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){

@Override
public void onItemSelected(AdapterView arg0, View arg1,
int arg2, long arg3) {
m_textview.setText("顏色:" + m_colors[arg2]);

}

@Override
public void onNothingSelected(AdapterView arg0) {
// TODO Auto-generated method stub

}

});

}
}




AutoCompleteTextView、MultiAutoCompleteTextView

自動完成的部分,Android預設提供兩種,一種是單一的自動完成,意思是一次只能完成一個字詞;另一種就是在一行內可以完成多次的字詞選擇。

自動完成也可以利用 ArrayAdapter 將預設的字詞與功能做綁定,在這裡的範例所使用的自動完成字詞有 apple、car、mouse 和 fish。比較需要注意的是 MultiAutoCompleteTextView 需要設定分隔符號才能正常運作。

原始碼

package nchu.test;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;

public class test extends Activity {

private static final String[] autostr = new String []{
"apple","car","mouse","fish"
};
private AutoCompleteTextView m_autoCT;
private MultiAutoCompleteTextView m_mautoCT;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,autostr);

m_autoCT = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
m_mautoCT = (MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1);

m_autoCT.setAdapter(adapter);
m_mautoCT.setAdapter(adapter);
m_mautoCT.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

}
}





DatePicker, TimePicker
Menu
Dialog
ImageView
ImageButton
Gallery
ImageSwitcher


ProgressBar
SeekBar


GridView
ScrollView
ListView

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by Blogger