Android的简单组件总结
常用组件的总结:
提示框的使用:
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(){@Overridepublic 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(){@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3){String str = "这次妖精把" + multiAutoCompleteTextView.getText().toString()+ "抓住了!";updateText(str);}});
?
多个复选框的使用:
/** Called when the activity is first created. */@Overridepublic 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. */@Overridepublic 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("开始拖动"); } }); }
?