|
下面给出实现各个组件的源代码:
1.下拉框实现--Spinner
- package com.cellcom;
- import java.util.ArrayList;
- import java.util.List;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.Spinner;
- //下拉框
- public class SpinnerActivity extends Activity {
- private Spinner spinner1;
- private Spinner spinner2;
- private Button ok;
- private ArrayAdapter countiesAdapter;
- private String[] mCounties={"beijing","guangdong","guangxi","hunan"};
- private List<String> allCounties=new ArrayList<String>();
- private String result="你选择的是:";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.spinner);
- spinner1=(Spinner)findViewById(R.id.spinner1);
- spinner2=(Spinner)findViewById(R.id.spinner2);
- ok=(Button)findViewById(R.id.ok);
- for(int i=0;i<mCounties.length;i++){
- allCounties.add(mCounties[i]);
- }
- countiesAdapter=new ArrayAdapter<String>(SpinnerActivity.this,android.R.layout.simple_spinner_item,allCounties);
- countiesAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- spinner1.setAdapter(countiesAdapter);
- ArrayAdapter adapter=ArrayAdapter.createFromResource(SpinnerActivity.this,R.array.counties,android.R.layout.simple_spinner_item);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- spinner2.setAdapter(adapter);
- //单击第一个下拉按钮时,显示选择的值。
- spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView<?> adapter, View view,
- int position, long id) {
- // TODO Auto-generated method stub
- String str=(String)spinner1.getAdapter().getItem((int)id);
- setTitle(result+str);
- }
- @Override
- public void onNothingSelected(AdapterView<?> arg0) {
- // TODO Auto-generated method stub
- }
- });
- //单击第二个下拉按钮时,显示选择的值。
- spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView<?> adapter, View view,
- int position, long id) {
- String str=(String)spinner2.getAdapter().getItem(position);
- setTitle(result+str);
- }
- @Override
- public void onNothingSelected(AdapterView<?> arg0) {
- }
- });
- //单击确定按钮,提取选择的值.
- ok.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- setTitle(result+spinner1.getSelectedItem()+" - >> "+spinner2.getSelectedItem());
- }
- });
- }
- }
2.对话框的实现--AlertDialog
- package com.cellcom;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.app.AlertDialog.Builder;
- import android.app.ProgressDialog;
- import android.content.DialogInterface;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- //对话框测试
- public class AlertDialogActivity extends Activity {
- private Button button1;
- private Button button2;
- private Button button3;
- private Button button4;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.alert_dialog);
- setTitle("4种对话框!");
- button1=(Button)findViewById(R.id.button1);
- button2=(Button)findViewById(R.id.button2);
- button3=(Button)findViewById(R.id.button3);
- button4=(Button)findViewById(R.id.button4);
- //第一种对话框
- button1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Builder builder=new AlertDialog.Builder(AlertDialogActivity.this);
- builder.setIcon(R.drawable.alert_dialog_icon);
- builder.setTitle("哇哈哈!");
- builder.setMessage("去不去?");
- builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "你选择了确定按钮!", Toast.LENGTH_SHORT).show();
- }
- });
- builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "你选择了取消按钮!", Toast.LENGTH_SHORT).show();
- }
- });
- builder.show();
- }
- });
- //第二种对话框
- button2.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- new AlertDialog.Builder(AlertDialogActivity.this)
- .setIcon(R.drawable.alert_dialog_icon)
- .setTitle("温馨提示")
- .setMessage("提示内容:三个按钮")
- .setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "你选择了确定按钮!", Toast.LENGTH_SHORT).show();
- }
- })
- .setNeutralButton("详情", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "你选择了详情按钮!", Toast.LENGTH_SHORT).show();
- }
- })
- .setNegativeButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "你选择了取消按钮!", Toast.LENGTH_SHORT).show();
- }
- })
- .show();
- }
- });
- //第三种按钮
- button3.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- LayoutInflater inflater=LayoutInflater.from(AlertDialogActivity.this);
- final View textEntryView=inflater.inflate(R.layout.alert_dialog_text_entry, null);
- final EditText usernameET=(EditText)textEntryView.findViewById(R.id.username_value);
- final EditText passwordET=(EditText)textEntryView.findViewById(R.id.password_value);
- //final String username=usernameET.getText().toString();
- new AlertDialog.Builder(AlertDialogActivity.this)
- .setIcon(R.drawable.alert_dialog_icon)
- .setTitle("温馨提醒")
- .setView(textEntryView)
- .setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "用户名="+usernameET.getText().toString()+"\n密码="+passwordET.getText().toString(), Toast.LENGTH_LONG).show();
- }
- })
- .setNegativeButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "你选择了确定取消!", Toast.LENGTH_SHORT).show();
- }
- })
- .show();
- }
- });
- //第四种对话框
- button4.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- ProgressDialog dialog=new ProgressDialog(AlertDialogActivity.this);
- dialog.setTitle("处理中。。。");
- dialog.setMessage("请稍后。。。");
- dialog.show();
- }
- });
- }
- }
3.自动提示框的实现--AutoCompleteTextView
- package com.cellcom;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ArrayAdapter;
- import android.widget.AutoCompleteTextView;
- import android.widget.Button;
- //自动提示框
- public class AutoCompleteTextViewActivity extends Activity {
- private AutoCompleteTextView autoComplete;
- private Button cleanButton;
- static final String[] COUNTRIES = new String[] {
- "China" ,"Russia", "Germany",
- "Ukraine", "Belarus", "USA" ,"China1" ,"China12", "Germany",
- "Russia2", "Belarus", "USA" ,"UAA","UBC","UBB","CCC","BBB","广州1","广州2","广州3","广州4","广东1","广东2","广东3",
- };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.auto_complete_text_view);
- setTitle("AutoCompleteTextView示例!");
- autoComplete=(AutoCompleteTextView)findViewById(R.id.auto_complete);
- cleanButton=(Button)findViewById(R.id.cleanButton);
- ArrayAdapter<String> adapter=new ArrayAdapter<String>(AutoCompleteTextViewActivity.this,android.R.layout.simple_dropdown_item_1line,COUNTRIES);
- autoComplete.setAdapter(adapter);
- //清空
- cleanButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- autoComplete.setText("");
- }
- });
- }
- }
4.Activity之间传递数据--Bundle
- package com.cellcom;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.RadioButton;
- /**
- * @author nwang
- *
- * 输入身高和选择性别,计算标准体重。并把数据返回到原来Activity
- */
- public class Bundle1Activity extends Activity {
- private int my_requestCode=1550;
- private RadioButton sexMan;
- private RadioButton sexWoman;
- private EditText heightEdit;
- private Button okButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.bundle1);
- sexMan=(RadioButton)findViewById(R.id.sex_man);
- sexWoman=(RadioButton)findViewById(R.id.sex_woman);
- heightEdit=(EditText)findViewById(R.id.height_edit);
- okButton=(Button)findViewById(R.id.button_ok);
- okButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- double height=Double.parseDouble(heightEdit.getText().toString());
- String sex="";
- if(sexMan.isChecked()){
- sex="M";
- }else{
- sex="F";
- }
- Intent intent=new Intent();
- intent.setClass(Bundle1Activity.this, Bundle2Activity.class);
- //封装数据
- Bundle bundle=new Bundle();
- bundle.putDouble("height", height);
- bundle.putString("sex", sex);
- intent.putExtras(bundle);
- startActivityForResult(intent, my_requestCode);
- }
- });
- }
- //回调方法
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- switch (requestCode) {
- case RESULT_OK:
- //RESULT_OK表示返回成功,提取数据。
- Bundle bundle=data.getExtras();
- String sex=bundle.getString("sex");
- double height=bundle.getDouble("height");
- heightEdit.setText(String.valueOf(height));
- if(sex.equals("M")){
- sexMan.setChecked(true);
- }else{
- sexWoman.setChecked(true);
- }
- break;
- default:
- break;
- }
- }
- }
- package com.cellcom;
- import java.text.DecimalFormat;
- import java.text.NumberFormat;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- public class Bundle2Activity extends Activity{
- private TextView result;
- private Button backButton;
- Intent intent=null;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.bundle2);
- result=(TextView)findViewById(R.id.result);
- backButton=(Button)findViewById(R.id.button_back);
- intent=this.getIntent();
- Bundle bundle=intent.getExtras();
- double height=bundle.getDouble("height");
- String sex=bundle.getString("sex");
- String sexStr="";
- if("M".equals(sex)){
- sexStr="男性";
- }else{
- sexStr="女性";
- }
- String weight=this.getWeight(sex, height);
- result.setText("你是一位:"+sexStr+"\n身高是:"+height+"厘米 \n你的标准体重:"+weight+"公斤");
- //返回上一页
- backButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Bundle2Activity.this.setResult(RESULT_OK, intent);
- Bundle2Activity.this.finish();
- }
- });
- }
- public String getWeight(String sex,double height){
- String weight="";
- if("M".endsWith(sex)){
- weight=format((height-80)*0.7);
- }else{
- weight=format((height-70)*0.6);
- }
- return weight;
- }
- public String format(double num){
- NumberFormat formatter=new DecimalFormat("0.00");
- String s=formatter.format(num);
- return s;
- }
- }
5.复选框--CheckBox
- package com.cellcom;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.CheckBox;
- public class CheckBoxActivity extends Activity {
- private CheckBox plainCB;
- private CheckBox serifCB;
- private CheckBox boldCB;
- private CheckBox italicCB;
- private Button button1;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.check_box);
- plainCB=(CheckBox)findViewById(R.id.plain_cb);
- serifCB=(CheckBox)findViewById(R.id.serif_cb);
- boldCB=(CheckBox)findViewById(R.id.bold_cb);
- italicCB=(CheckBox)findViewById(R.id.italic_cb);
- button1=(Button)findViewById(R.id.button1);
- button1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String result="";
- if(plainCB.isChecked()){
- result+=plainCB.getText()+"、";
- }
- if(serifCB.isChecked()){
- result+=serifCB.getText()+"、";
- }
- if(boldCB.isChecked()){
- result+=boldCB.getText()+"、";
- }
- if(italicCB.isChecked()){
- result+=italicCB.getText()+"、";
- }
- if(!"".equals(result)){
- result=result.substring(0,result.length()-1);
- }else{
- result="你没有选择!!!";
- }
- setTitle("Checked:"+result);
- }
- });
- }
- }
6.菜单的实现--Menu
- package com.cellcom;
- import android.app.Activity;
- import android.graphics.Color;
- import android.os.Bundle;
- import android.view.ContextMenu;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.view.ContextMenu.ContextMenuInfo;
- import android.widget.TextView;
- public class ContextMenuActivity extends Activity {
- private final static int ITEM0=Menu.FIRST;
- private final static int ITEM1=Menu.FIRST+1;
- private final static int ITEM2=Menu.FIRST+2;
- private TextView tv;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.context_menu);
- setTitle("单击Menu键看到效果!");
- tv=(TextView)findViewById(R.id.tv1);
- this.registerForContextMenu(tv);//将上下文注册到TextView
- }
- @Override
- public void onCreateContextMenu(ContextMenu menu, View v,
- ContextMenuInfo menuInfo) {
- menu.add(0, ITEM0, 0, "红色背景");
- menu.add(0,ITEM1,0,"绿色背景");
- menu.add(0,ITEM2,0,"白色背景");
- }
- @Override
- public boolean onContextItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case ITEM0:
- tv.setTextColor(Color.RED);
- break;
- case ITEM1:
- tv.setTextColor(Color.GREEN);
- break;
- case ITEM2:
- tv.setTextColor(Color.WHITE);
- break;
- default:
- break;
- }
- return true;
- }
- }
7.日期选择器--DataTimePicker
- package com.cellcom;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.DatePicker;
- import android.widget.TimePicker;
- //DatePicker日期选择器、TimePicker时间选择器 使用
- public class DatePickerActivity extends Activity {
- private Button datePickerButton;
- private DatePicker datePicker1;
- private TimePicker timePicker1;
- //默认生成系统当前时间
- SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
- String str=sdf.format(new Date());
- int year=Integer.parseInt(str.substring(0, 4));
- int month=Integer.parseInt(str.substring(5,7))-1;
- int day=Integer.parseInt(str.substring(8,10));
- int hour=Integer.parseInt(str.substring(11,13));
- int minute=Integer.parseInt(str.substring(14,16));
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.date_picker);
- setTitle("DatePicker、TimePicker示例!");
- datePicker1=(DatePicker)findViewById(R.id.datePicker1);
- timePicker1=(TimePicker)findViewById(R.id.timePicker1);
- datePickerButton=(Button)findViewById(R.id.datePickerButton1);
- datePicker1.init(year,month,day, null);
- timePicker1.setCurrentHour(hour);
- timePicker1.setCurrentMinute(minute);
- timePicker1.setIs24HourView(true);
- datePickerButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- setTitle("你选择的是:"+datePicker1.getYear()+"年"+datePicker1.getMonth()+"月"+datePicker1.getDayOfMonth()+"日 "+timePicker1.getCurrentHour()+"小时"+timePicker1.getCurrentMinute()+"分");
- }
- });
- }
- }
8.网格视图控件--GridView
- package com.cellcom;
- import android.app.Activity;
- import android.content.Context;
- import android.os.Bundle;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.GridView;
- import android.widget.ImageView;
- //网络视图控件
- public class GridViewActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.grid_view);
- setTitle("网络视图控件GridView!");
- GridView gridView=(GridView)findViewById(R.id.grid_view);
- gridView.setAdapter(new ImageAdapter(this));
- }
- public class ImageAdapter extends BaseAdapter{
- private Context mContext;
- public ImageAdapter(Context context){
- mContext=context;
- }
- @Override
- public int getCount() {
- // TODO Auto-generated method stub
- return mImageIds.length;
- }
- @Override
- public Object getItem(int position) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public long getItemId(int position) {
- // TODO Auto-generated method stub
- return 0;
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ImageView imageView;
- if(convertView==null){
- imageView=new ImageView(mContext);
- imageView.setLayoutParams(new GridView.LayoutParams(85,85));
- imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
- imageView.setPadding(8, 8, 8, 8);
- }else{
- imageView=(ImageView)convertView;
- }
- imageView.setImageResource(mImageIds[position]);
- return imageView;
- }
- }
- private Integer[] mImageIds = {
- R.drawable.sample_0, R.drawable.sample_1, R.drawable.sample_2,
- R.drawable.sample_3, R.drawable.sample_4, R.drawable.sample_5,
- R.drawable.sample_6, R.drawable.sample_7,R.drawable.sample_8,
- R.drawable.sample_9,R.drawable.sample_10,R.drawable.sample_11};
- }
9.进度条控件--ProgressBar
- package com.cellcom;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- /**
- *
- * @author nwang
- *
- * 进度条ProgressBar与线程使用。单击开始按钮,进度条水平方向前进!
- *
- */
- public class ProgressBarHandlerActivity extends Activity {
- /** Called when the activity is first created. */
- private Button startButton;
- private Button stopButton;
- private TextView result;
- private ProgressBar firstProgressBar;
- private final static int defaultValue=10;
- private int i=0;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.progress_bar);
- setTitle("ProgressBar使用!");
- startButton=(Button)findViewById(R.id.startButton);
- stopButton=(Button)findViewById(R.id.stopButton);
- result=(TextView)findViewById(R.id.result);
- firstProgressBar=(ProgressBar)findViewById(R.id.firstProgressBar);
- firstProgressBar.setVisibility(0);//刚开始设置进度条可见
- startButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- /*i+=defaultValue;
- firstProgressBar.setProgress(i);
- firstProgressBar.setSecondaryProgress(i+defaultValue);*/
- result.setText(((double)i/firstProgressBar.getMax()*100)+"%");
- handler.post(progressBarThread);
- }
- });
- stopButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- handler.removeCallbacks(progressBarThread);
- }
- });
- }
- //创建Handler对象
- Handler handler=new Handler();
- //创建线程对象
- MyRunnable progressBarThread=new MyRunnable();
- class MyRunnable implements Runnable{
- @Override
- public void run() {
- i+=defaultValue;
- handler.postDelayed(progressBarThread, 1000);
- firstProgressBar.setProgress(i);
- firstProgressBar.setSecondaryProgress(i+defaultValue);
- result.setText(((double)i/firstProgressBar.getMax()*100)+"%");
- if(i>=firstProgressBar.getMax()) i=0;
- }
- }
- }
10.单选控件--RadioGroup
- package com.cellcom;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.RadioButton;
- //单选控件
- public class RadioGroupActivity extends Activity {
- private RadioButton radioFemale;
- private RadioButton radioMale;
- private Button ok;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.radio_group);
- radioFemale=(RadioButton)findViewById(R.id.radioFemale);
- radioMale=(RadioButton)findViewById(R.id.radioMale);
- ok=(Button)findViewById(R.id.ok);
- ok.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String result="你选择的是:";
- if(radioFemale.isChecked()){
- setTitle(result+"女");
- }else{
- setTitle(result+"男");
- }
- }
- });
- }
- }
11.打分组件--RatingBar
- package com.cellcom;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ImageButton;
- import android.widget.RatingBar;
- import android.widget.Toast;
- //评分组件RatingBar、ImageView图片、 ImageButton图片按钮
- public class RatingBarActivity extends Activity {
- private RatingBar ratingBar;
- private ImageButton imageButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.rating_bar);
- setTitle("评分组件RatingBar、ImageView图片、 ImageButton图片按钮");
- ratingBar=(RatingBar)findViewById(R.id.rating_bar);
- imageButton=(ImageButton)findViewById(R.id.imageButton);
- imageButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(RatingBarActivity.this, "单击图片按钮!!", Toast.LENGTH_LONG).show();
- }
- });
- }
- }
12.标签控件--Tab
- package com.cellcom;
- import android.app.TabActivity;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.widget.TabHost;
- //标签控件Tab
- public class TabDemoActivity extends TabActivity {
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setTitle("标签控件Tab");
- TabHost tabHost=getTabHost();
- LayoutInflater.from(this).inflate(R.layout.tab, tabHost.getTabContentView(),true);
- tabHost.addTab(tabHost.newTabSpec("biaoqian1").setIndicator("标签tab1").setContent(R.id.tab1));
- tabHost.addTab(tabHost.newTabSpec("biaoqian2").setIndicator("标签tab2").setContent(R.id.tab2));
- tabHost.addTab(tabHost.newTabSpec("biaoqian3").setIndicator("标签tab3").setContent(R.id.tab3));
- }
- }
13.子菜单的实现--SubMenu
- package com.cellcom;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.SubMenu;
- //子菜单subMenu
- public class SubMenuActivity extends Activity {
- private final static int ITEM_NEW_FILE=Menu.FIRST;
- private final static int ITEM_OPEN_FILE=Menu.FIRST+1;
- private final static int ITEM_COPY=Menu.FIRST+2;
- private final static int ITEM_CLOSE=Menu.FIRST+3;
- private final static int ITEM_SAVE=Menu.FIRST+4;
- private final static int ITEM_SAVE_ALL=Menu.FIRST+5;
- private final static int ITEM_CUT=Menu.FIRST+6;
- private final static int ITEM_PASTE=Menu.FIRST+7;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.sub_menu);
- setTitle("单击Menu键看到效果!");
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- SubMenu file=menu.addSubMenu("文件");
- SubMenu edit=menu.addSubMenu("编辑");
- file.add(0,ITEM_NEW_FILE,0,"新建");
- file.add(0,ITEM_OPEN_FILE,0,"打开");
- file.add(0,ITEM_CLOSE,0,"关闭");
- file.add(0,ITEM_SAVE,0,"保存");
- file.add(0,ITEM_SAVE_ALL,0,"保存全部");
- edit.add(0,ITEM_COPY,0,"复制");
- edit.add(0,ITEM_CUT,0,"剪切");
- edit.add(0,ITEM_PASTE,0,"粘贴");
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case ITEM_NEW_FILE:
- setTitle("新建文件!");
- break;
- case ITEM_OPEN_FILE:
- setTitle("打开文件");
- break;
- case ITEM_COPY:
- setTitle("复制文件");
- break;
- default:
- break;
- }
- return true;
- }
- }
|
下面给出实现各个组件的源代码:
1.下拉框实现--Spinner
- package com.cellcom;
- import java.util.ArrayList;
- import java.util.List;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.Spinner;
- //下拉框
- public class SpinnerActivity extends Activity {
- private Spinner spinner1;
- private Spinner spinner2;
- private Button ok;
- private ArrayAdapter countiesAdapter;
- private String[] mCounties={"beijing","guangdong","guangxi","hunan"};
- private List<String> allCounties=new ArrayList<String>();
- private String result="你选择的是:";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.spinner);
- spinner1=(Spinner)findViewById(R.id.spinner1);
- spinner2=(Spinner)findViewById(R.id.spinner2);
- ok=(Button)findViewById(R.id.ok);
- for(int i=0;i<mCounties.length;i++){
- allCounties.add(mCounties[i]);
- }
- countiesAdapter=new ArrayAdapter<String>(SpinnerActivity.this,android.R.layout.simple_spinner_item,allCounties);
- countiesAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- spinner1.setAdapter(countiesAdapter);
- ArrayAdapter adapter=ArrayAdapter.createFromResource(SpinnerActivity.this,R.array.counties,android.R.layout.simple_spinner_item);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- spinner2.setAdapter(adapter);
- //单击第一个下拉按钮时,显示选择的值。
- spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView<?> adapter, View view,
- int position, long id) {
- // TODO Auto-generated method stub
- String str=(String)spinner1.getAdapter().getItem((int)id);
- setTitle(result+str);
- }
- @Override
- public void onNothingSelected(AdapterView<?> arg0) {
- // TODO Auto-generated method stub
- }
- });
- //单击第二个下拉按钮时,显示选择的值。
- spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView<?> adapter, View view,
- int position, long id) {
- String str=(String)spinner2.getAdapter().getItem(position);
- setTitle(result+str);
- }
- @Override
- public void onNothingSelected(AdapterView<?> arg0) {
- }
- });
- //单击确定按钮,提取选择的值.
- ok.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- setTitle(result+spinner1.getSelectedItem()+" - >> "+spinner2.getSelectedItem());
- }
- });
- }
- }
2.对话框的实现--AlertDialog
- package com.cellcom;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.app.AlertDialog.Builder;
- import android.app.ProgressDialog;
- import android.content.DialogInterface;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- //对话框测试
- public class AlertDialogActivity extends Activity {
- private Button button1;
- private Button button2;
- private Button button3;
- private Button button4;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.alert_dialog);
- setTitle("4种对话框!");
- button1=(Button)findViewById(R.id.button1);
- button2=(Button)findViewById(R.id.button2);
- button3=(Button)findViewById(R.id.button3);
- button4=(Button)findViewById(R.id.button4);
- //第一种对话框
- button1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Builder builder=new AlertDialog.Builder(AlertDialogActivity.this);
- builder.setIcon(R.drawable.alert_dialog_icon);
- builder.setTitle("哇哈哈!");
- builder.setMessage("去不去?");
- builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "你选择了确定按钮!", Toast.LENGTH_SHORT).show();
- }
- });
- builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "你选择了取消按钮!", Toast.LENGTH_SHORT).show();
- }
- });
- builder.show();
- }
- });
- //第二种对话框
- button2.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- new AlertDialog.Builder(AlertDialogActivity.this)
- .setIcon(R.drawable.alert_dialog_icon)
- .setTitle("温馨提示")
- .setMessage("提示内容:三个按钮")
- .setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "你选择了确定按钮!", Toast.LENGTH_SHORT).show();
- }
- })
- .setNeutralButton("详情", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "你选择了详情按钮!", Toast.LENGTH_SHORT).show();
- }
- })
- .setNegativeButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "你选择了取消按钮!", Toast.LENGTH_SHORT).show();
- }
- })
- .show();
- }
- });
- //第三种按钮
- button3.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- LayoutInflater inflater=LayoutInflater.from(AlertDialogActivity.this);
- final View textEntryView=inflater.inflate(R.layout.alert_dialog_text_entry, null);
- final EditText usernameET=(EditText)textEntryView.findViewById(R.id.username_value);
- final EditText passwordET=(EditText)textEntryView.findViewById(R.id.password_value);
- //final String username=usernameET.getText().toString();
- new AlertDialog.Builder(AlertDialogActivity.this)
- .setIcon(R.drawable.alert_dialog_icon)
- .setTitle("温馨提醒")
- .setView(textEntryView)
- .setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "用户名="+usernameET.getText().toString()+"\n密码="+passwordET.getText().toString(), Toast.LENGTH_LONG).show();
- }
- })
- .setNegativeButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(AlertDialogActivity.this, "你选择了确定取消!", Toast.LENGTH_SHORT).show();
- }
- })
- .show();
- }
- });
- //第四种对话框
- button4.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- ProgressDialog dialog=new ProgressDialog(AlertDialogActivity.this);
- dialog.setTitle("处理中。。。");
- dialog.setMessage("请稍后。。。");
- dialog.show();
- }
- });
- }
- }
3.自动提示框的实现--AutoCompleteTextView
- package com.cellcom;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ArrayAdapter;
- import android.widget.AutoCompleteTextView;
- import android.widget.Button;
- //自动提示框
- public class AutoCompleteTextViewActivity extends Activity {
- private AutoCompleteTextView autoComplete;
- private Button cleanButton;
- static final String[] COUNTRIES = new String[] {
- "China" ,"Russia", "Germany",
- "Ukraine", "Belarus", "USA" ,"China1" ,"China12", "Germany",
- "Russia2", "Belarus", "USA" ,"UAA","UBC","UBB","CCC","BBB","广州1","广州2","广州3","广州4","广东1","广东2","广东3",
- };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.auto_complete_text_view);
- setTitle("AutoCompleteTextView示例!");
- autoComplete=(AutoCompleteTextView)findViewById(R.id.auto_complete);
- cleanButton=(Button)findViewById(R.id.cleanButton);
- ArrayAdapter<String> adapter=new ArrayAdapter<String>(AutoCompleteTextViewActivity.this,android.R.layout.simple_dropdown_item_1line,COUNTRIES);
- autoComplete.setAdapter(adapter);
- //清空
- cleanButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- autoComplete.setText("");
- }
- });
- }
- }
4.Activity之间传递数据--Bundle
- package com.cellcom;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.RadioButton;
- /**
- * @author nwang
- *
- * 输入身高和选择性别,计算标准体重。并把数据返回到原来Activity
- */
- public class Bundle1Activity extends Activity {
- private int my_requestCode=1550;
- private RadioButton sexMan;
- private RadioButton sexWoman;
- private EditText heightEdit;
- private Button okButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.bundle1);
- sexMan=(RadioButton)findViewById(R.id.sex_man);
- sexWoman=(RadioButton)findViewById(R.id.sex_woman);
- heightEdit=(EditText)findViewById(R.id.height_edit);
- okButton=(Button)findViewById(R.id.button_ok);
- okButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- double height=Double.parseDouble(heightEdit.getText().toString());
- String sex="";
- if(sexMan.isChecked()){
- sex="M";
- }else{
- sex="F";
- }
- Intent intent=new Intent();
- intent.setClass(Bundle1Activity.this, Bundle2Activity.class);
- //封装数据
- Bundle bundle=new Bundle();
- bundle.putDouble("height", height);
- bundle.putString("sex", sex);
- intent.putExtras(bundle);
- startActivityForResult(intent, my_requestCode);
- }
- });
- }
- //回调方法
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- switch (requestCode) {
- case RESULT_OK:
- //RESULT_OK表示返回成功,提取数据。
- Bundle bundle=data.getExtras();
- String sex=bundle.getString("sex");
- double height=bundle.getDouble("height");
- heightEdit.setText(String.valueOf(height));
- if(sex.equals("M")){
- sexMan.setChecked(true);
- }else{
- sexWoman.setChecked(true);
- }
- break;
- default:
- break;
- }
- }
- }
- package com.cellcom;
- import java.text.DecimalFormat;
- import java.text.NumberFormat;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- public class Bundle2Activity extends Activity{
- private TextView result;
- private Button backButton;
- Intent intent=null;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.bundle2);
- result=(TextView)findViewById(R.id.result);
- backButton=(Button)findViewById(R.id.button_back);
- intent=this.getIntent();
- Bundle bundle=intent.getExtras();
- double height=bundle.getDouble("height");
- String sex=bundle.getString("sex");
- String sexStr="";
- if("M".equals(sex)){
- sexStr="男性";
- }else{
- sexStr="女性";
- }
- String weight=this.getWeight(sex, height);
- result.setText("你是一位:"+sexStr+"\n身高是:"+height+"厘米 \n你的标准体重:"+weight+"公斤");
- //返回上一页
- backButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Bundle2Activity.this.setResult(RESULT_OK, intent);
- Bundle2Activity.this.finish();
- }
- });
- }
- public String getWeight(String sex,double height){
- String weight="";
- if("M".endsWith(sex)){
- weight=format((height-80)*0.7);
- }else{
- weight=format((height-70)*0.6);
- }
- return weight;
- }
- public String format(double num){
- NumberFormat formatter=new DecimalFormat("0.00");
- String s=formatter.format(num);
- return s;
- }
- }
5.复选框--CheckBox
- package com.cellcom;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.CheckBox;
- public class CheckBoxActivity extends Activity {
- private CheckBox plainCB;
- private CheckBox serifCB;
- private CheckBox boldCB;
- private CheckBox italicCB;
- private Button button1;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.check_box);
- plainCB=(CheckBox)findViewById(R.id.plain_cb);
- serifCB=(CheckBox)findViewById(R.id.serif_cb);
- boldCB=(CheckBox)findViewById(R.id.bold_cb);
- italicCB=(CheckBox)findViewById(R.id.italic_cb);
- button1=(Button)findViewById(R.id.button1);
- button1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String result="";
- if(plainCB.isChecked()){
- result+=plainCB.getText()+"、";
- }
- if(serifCB.isChecked()){
- result+=serifCB.getText()+"、";
- }
- if(boldCB.isChecked()){
- result+=boldCB.getText()+"、";
- }
- if(italicCB.isChecked()){
- result+=italicCB.getText()+"、";
- }
- if(!"".equals(result)){
- result=result.substring(0,result.length()-1);
- }else{
- result="你没有选择!!!";
- }
- setTitle("Checked:"+result);
- }
- });
- }
- }
6.菜单的实现--Menu
- package com.cellcom;
- import android.app.Activity;
- import android.graphics.Color;
- import android.os.Bundle;
- import android.view.ContextMenu;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.view.ContextMenu.ContextMenuInfo;
- import android.widget.TextView;
- public class ContextMenuActivity extends Activity {
- private final static int ITEM0=Menu.FIRST;
- private final static int ITEM1=Menu.FIRST+1;
- private final static int ITEM2=Menu.FIRST+2;
- private TextView tv;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.context_menu);
- setTitle("单击Menu键看到效果!");
- tv=(TextView)findViewById(R.id.tv1);
- this.registerForContextMenu(tv);//将上下文注册到TextView
- }
- @Override
- public void onCreateContextMenu(ContextMenu menu, View v,
- ContextMenuInfo menuInfo) {
- menu.add(0, ITEM0, 0, "红色背景");
- menu.add(0,ITEM1,0,"绿色背景");
- menu.add(0,ITEM2,0,"白色背景");
- }
- @Override
- public boolean onContextItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case ITEM0:
- tv.setTextColor(Color.RED);
- break;
- case ITEM1:
- tv.setTextColor(Color.GREEN);
- break;
- case ITEM2:
- tv.setTextColor(Color.WHITE);
- break;
- default:
- break;
- }
- return true;
- }
- }
7.日期选择器--DataTimePicker
- package com.cellcom;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.DatePicker;
- import android.widget.TimePicker;
- //DatePicker日期选择器、TimePicker时间选择器 使用
- public class DatePickerActivity extends Activity {
- private Button datePickerButton;
- private DatePicker datePicker1;
- private TimePicker timePicker1;
- //默认生成系统当前时间
- SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
- String str=sdf.format(new Date());
- int year=Integer.parseInt(str.substring(0, 4));
- int month=Integer.parseInt(str.substring(5,7))-1;
- int day=Integer.parseInt(str.substring(8,10));
- int hour=Integer.parseInt(str.substring(11,13));
- int minute=Integer.parseInt(str.substring(14,16));
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.date_picker);
- setTitle("DatePicker、TimePicker示例!");
- datePicker1=(DatePicker)findViewById(R.id.datePicker1);
- timePicker1=(TimePicker)findViewById(R.id.timePicker1);
- datePickerButton=(Button)findViewById(R.id.datePickerButton1);
- datePicker1.init(year,month,day, null);
- timePicker1.setCurrentHour(hour);
- timePicker1.setCurrentMinute(minute);
- timePicker1.setIs24HourView(true);
- datePickerButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- setTitle("你选择的是:"+datePicker1.getYear()+"年"+datePicker1.getMonth()+"月"+datePicker1.getDayOfMonth()+"日 "+timePicker1.getCurrentHour()+"小时"+timePicker1.getCurrentMinute()+"分");
- }
- });
- }
- }
8.网格视图控件--GridView
- package com.cellcom;
- import android.app.Activity;
- import android.content.Context;
- import android.os.Bundle;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.GridView;
- import android.widget.ImageView;
- //网络视图控件
- public class GridViewActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.grid_view);
- setTitle("网络视图控件GridView!");
- GridView gridView=(GridView)findViewById(R.id.grid_view);
- gridView.setAdapter(new ImageAdapter(this));
- }
- public class ImageAdapter extends BaseAdapter{
- private Context mContext;
- public ImageAdapter(Context context){
- mContext=context;
- }
- @Override
- public int getCount() {
- // TODO Auto-generated method stub
- return mImageIds.length;
- }
- @Override
- public Object getItem(int position) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public long getItemId(int position) {
- // TODO Auto-generated method stub
- return 0;
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ImageView imageView;
- if(convertView==null){
- imageView=new ImageView(mContext);
- imageView.setLayoutParams(new GridView.LayoutParams(85,85));
- imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
- imageView.setPadding(8, 8, 8, 8);
- }else{
- imageView=(ImageView)convertView;
- }
- imageView.setImageResource(mImageIds[position]);
- return imageView;
- }
- }
- private Integer[] mImageIds = {
- R.drawable.sample_0, R.drawable.sample_1, R.drawable.sample_2,
- R.drawable.sample_3, R.drawable.sample_4, R.drawable.sample_5,
- R.drawable.sample_6, R.drawable.sample_7,R.drawable.sample_8,
- R.drawable.sample_9,R.drawable.sample_10,R.drawable.sample_11};
- }
9.进度条控件--ProgressBar
- package com.cellcom;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- /**
- *
- * @author nwang
- *
- * 进度条ProgressBar与线程使用。单击开始按钮,进度条水平方向前进!
- *
- */
- public class ProgressBarHandlerActivity extends Activity {
- /** Called when the activity is first created. */
- private Button startButton;
- private Button stopButton;
- private TextView result;
- private ProgressBar firstProgressBar;
- private final static int defaultValue=10;
- private int i=0;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.progress_bar);
- setTitle("ProgressBar使用!");
- startButton=(Button)findViewById(R.id.startButton);
- stopButton=(Button)findViewById(R.id.stopButton);
- result=(TextView)findViewById(R.id.result);
- firstProgressBar=(ProgressBar)findViewById(R.id.firstProgressBar);
- firstProgressBar.setVisibility(0);//刚开始设置进度条可见
- startButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- /*i+=defaultValue;
- firstProgressBar.setProgress(i);
- firstProgressBar.setSecondaryProgress(i+defaultValue);*/
- result.setText(((double)i/firstProgressBar.getMax()*100)+"%");
- handler.post(progressBarThread);
- }
- });
- stopButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- handler.removeCallbacks(progressBarThread);
- }
- });
- }
- //创建Handler对象
- Handler handler=new Handler();
- //创建线程对象
- MyRunnable progressBarThread=new MyRunnable();
- class MyRunnable implements Runnable{
- @Override
- public void run() {
- i+=defaultValue;
- handler.postDelayed(progressBarThread, 1000);
- firstProgressBar.setProgress(i);
- firstProgressBar.setSecondaryProgress(i+defaultValue);
- result.setText(((double)i/firstProgressBar.getMax()*100)+"%");
- if(i>=firstProgressBar.getMax()) i=0;
- }
- }
- }
10.单选控件--RadioGroup
- package com.cellcom;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.RadioButton;
- //单选控件
- public class RadioGroupActivity extends Activity {
- private RadioButton radioFemale;
- private RadioButton radioMale;
- private Button ok;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.radio_group);
- radioFemale=(RadioButton)findViewById(R.id.radioFemale);
- radioMale=(RadioButton)findViewById(R.id.radioMale);
- ok=(Button)findViewById(R.id.ok);
- ok.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String result="你选择的是:";
- if(radioFemale.isChecked()){
- setTitle(result+"女");
- }else{
- setTitle(result+"男");
- }
- }
- });
- }
- }
11.打分组件--RatingBar
- package com.cellcom;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ImageButton;
- import android.widget.RatingBar;
- import android.widget.Toast;
- //评分组件RatingBar、ImageView图片、 ImageButton图片按钮
- public class RatingBarActivity extends Activity {
- private RatingBar ratingBar;
- private ImageButton imageButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.rating_bar);
- setTitle("评分组件RatingBar、ImageView图片、 ImageButton图片按钮");
- ratingBar=(RatingBar)findViewById(R.id.rating_bar);
- imageButton=(ImageButton)findViewById(R.id.imageButton);
- imageButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(RatingBarActivity.this, "单击图片按钮!!", Toast.LENGTH_LONG).show();
- }
- });
- }
- }
12.标签控件--Tab
- package com.cellcom;
- import android.app.TabActivity;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.widget.TabHost;
- //标签控件Tab
- public class TabDemoActivity extends TabActivity {
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setTitle("标签控件Tab");
- TabHost tabHost=getTabHost();
- LayoutInflater.from(this).inflate(R.layout.tab, tabHost.getTabContentView(),true);
- tabHost.addTab(tabHost.newTabSpec("biaoqian1").setIndicator("标签tab1").setContent(R.id.tab1));
- tabHost.addTab(tabHost.newTabSpec("biaoqian2").setIndicator("标签tab2").setContent(R.id.tab2));
- tabHost.addTab(tabHost.newTabSpec("biaoqian3").setIndicator("标签tab3").setContent(R.id.tab3));
- }
- }
13.子菜单的实现--SubMenu
- package com.cellcom;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.SubMenu;
- //子菜单subMenu
- public class SubMenuActivity extends Activity {
- private final static int ITEM_NEW_FILE=Menu.FIRST;
- private final static int ITEM_OPEN_FILE=Menu.FIRST+1;
- private final static int ITEM_COPY=Menu.FIRST+2;
- private final static int ITEM_CLOSE=Menu.FIRST+3;
- private final static int ITEM_SAVE=Menu.FIRST+4;
- private final static int ITEM_SAVE_ALL=Menu.FIRST+5;
- private final static int ITEM_CUT=Menu.FIRST+6;
- private final static int ITEM_PASTE=Menu.FIRST+7;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.sub_menu);
- setTitle("单击Menu键看到效果!");
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- SubMenu file=menu.addSubMenu("文件");
- SubMenu edit=menu.addSubMenu("编辑");
- file.add(0,ITEM_NEW_FILE,0,"新建");
- file.add(0,ITEM_OPEN_FILE,0,"打开");
- file.add(0,ITEM_CLOSE,0,"关闭");
- file.add(0,ITEM_SAVE,0,"保存");
- file.add(0,ITEM_SAVE_ALL,0,"保存全部");
- edit.add(0,ITEM_COPY,0,"复制");
- edit.add(0,ITEM_CUT,0,"剪切");
- edit.add(0,ITEM_PASTE,0,"粘贴");
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case ITEM_NEW_FILE:
- setTitle("新建文件!");
- break;
- case ITEM_OPEN_FILE:
- setTitle("打开文件");
- break;
- case ITEM_COPY:
- setTitle("复制文件");
- break;
- default:
- break;
- }
- return true;
- }
- }