常用组件的总结:
提示框的使用:
new AlertDialog.Builder(this) .setTitle("title") .setMessage("bla..bla") .setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }) .show();
自动提示输入框的使用:
// 通过ID查找到main.xml中的AutoCompleteTextView控件 autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.autocompleteTv); // 设定一个Array适配器,将数组数据放入适配器中 adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, item); // 对AutoCompleteTextView进行适配 autoCompleteTextView.setAdapter(adapter); //设置AutoCompleteTextView的监听器 autoCompleteTextView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { String str = "这次妖精把" + autoCompleteTextView.getText().toString() + "抓住了!"; updateText(str); } }); // 通过ID查找到main.xml中的MultiAutoCompleteTextView控件 multiAutoCompleteTextView = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView); // 对MultiAutoCompleteTextView进行适配 multiAutoCompleteTextView.setAdapter(adapter); //设置分隔符,默认的是逗号(,) multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); //设置MultiAutoCompleteTextView的监听器 multiAutoCompleteTextView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { String str = "这次妖精把" + multiAutoCompleteTextView.getText().toString() + "抓住了!"; updateText(str); } });
多个复选框的使用:
/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.chkgrp_layout); // 通过ID查找到main.xml中的RadioButton控件 tangseng= (CheckBox) findViewById(R.id.tangsengchk); wukong= (CheckBox) findViewById(R.id.sunwukongchk); bajie= (CheckBox) findViewById(R.id.zhubajiechk); shazeng= (CheckBox) findViewById(R.id.shaheshangchk); // 通过ID查找到main.xml中的Button控件 button = (Button) findViewById(R.id.mpbtn); text = (TextView) findViewById(R.id.mtvInfo); // 为Button控件增加单击监听器 button.setOnClickListener(this); } @Override public void onClick(View v) { String str = ""; //唐僧单选框被选中 if(tangseng.isChecked()){ str += "唐僧~"; } //悟空单选框被选中 else if(wukong.isChecked()){ str += "悟空~"; } //八戒单选框被选中 else if(bajie.isChecked()){ str += "八戒~"; } //沙僧单选框被选中 else if(shazeng.isChecked()){ str += "沙僧~"; } //没有人被选中 else if(str.equals("")){ str += "没有人"; } str +="被妖精抓走了!"; updateText(str); }
单选按钮组的使用:
/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.radiogrp_layout); // 通过ID查找到main.xml中的RadioButton控件 tangseng= (RadioButton) findViewById(R.id.tangseng); wukong= (RadioButton) findViewById(R.id.sunwukong); bajie= (RadioButton) findViewById(R.id.zhubajie); shazeng= (RadioButton) findViewById(R.id.shaheshang); // 通过ID查找到main.xml中的Button控件 Button button = (Button) findViewById(R.id.pbtn); text= (TextView) findViewById(R.id.tvInfo); // 为Button控件增加单击监听器 button.setOnClickListener(this); } @Override public void onClick(View v) { String str = ""; //唐僧单选框被选中 if(tangseng.isChecked()){ str += "唐僧~"; } //悟空单选框被选中 if(wukong.isChecked()){ str += "悟空~"; } //八戒单选框被选中 if(bajie.isChecked()){ str += "八戒~"; } //沙僧单选框被选中 if(shazeng.isChecked()){ str += "沙僧~"; } //没有人被选中 if(str.equals("")){ str += "没有人"; } str +="被妖精抓走了!"; updateText(str); }
时间选择器的使用:
@Override protected Dialog onCreateDialog(int id) { //用来获取日期和时间的 Calendar calendar = Calendar.getInstance(); Dialog dialog = null; switch(id) { case DATE_DIALOG: DatePickerDialog.OnDateSetListener dateListener = new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker datePicker, int year, int month, int dayOfMonth) { EditText editText = (EditText) findViewById(R.id.editText); //Calendar月份是从0开始,所以month要加1 editText.setText("你选择了" + year + "年" + (month+1) + "月" + dayOfMonth + "日"); } }; dialog = new DatePickerDialog(this, dateListener, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); break; case TIME_DIALOG: TimePickerDialog.OnTimeSetListener timeListener = new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker timerPicker, int hourOfDay, int minute) { EditText editText = (EditText) findViewById(R.id.editText); editText.setText("你选择了" + hourOfDay + "时" + minute + "分"); } }; dialog = new TimePickerDialog(this, timeListener, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), false); //是否为二十四制 break; default: break; } return dialog; }
缩放工具:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //设置标题 setTitle("ZoomControls"); zoomControls = (ZoomControls) findViewById(R.id.zoomcontrols); text = (TextView) findViewById(R.id.text); //点击放大按钮事件 zoomControls.setOnZoomInClickListener(new OnClickListener() { @Override public void onClick(View v) { size = size + 2; text.setTextSize(size); } }); //点击缩小的按钮的事件 zoomControls.setOnZoomOutClickListener(new OnClickListener() { @Override public void onClick(View v) { size = size - 2; text.setTextSize(size); } });
抽屉功能:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="@drawable/default_bg"> <SlidingDrawer android:layout_width="fill_parent" android:layout_height="fill_parent" android:handle="@+id/handle" android:content="@+id/content" android:orientation="vertical" android:id="@+id/slidingdrawer"> <ImageButton android:id="@id/handle" android:layout_width="50dip" android:layout_height="44dip" android:src="@drawable/up" /> <LinearLayout android:id="@id/content" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffff"> <TextView android:text="这是一个滑动式抽屉的示例" android:id="@+id/tv" android:textSize="18px" android:textColor="#000000" android:gravity="center_vertical|center_horizontal" android:layout_width="match_parent" android:textStyle="bold" android:layout_height="match_parent"></TextView> </LinearLayout> </SlidingDrawer> </LinearLayout>
@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); imbg=(ImageButton)findViewById(R.id.handle); mDrawer=(SlidingDrawer)findViewById(R.id.slidingdrawer); tv=(TextView)findViewById(R.id.tv); /** * 抽屜打開事件 */ mDrawer.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener() { @Override public void onDrawerOpened() { flag=true; imbg.setImageResource(R.drawable.down); } }); /** * 抽屜關閉事件 */ mDrawer.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener(){ @Override public void onDrawerClosed() { flag=false; imbg.setImageResource(R.drawable.up); } }); /** * 抽屜拖動事件 */ mDrawer.setOnDrawerScrollListener(new SlidingDrawer.OnDrawerScrollListener(){ @Override public void onScrollEnded() { tv.setText("结束拖动"); } @Override public void onScrollStarted() { tv.setText("开始拖动"); } }); }