一個Demo讓你掌握Android所有控件
原文:一個Demo讓你掌握Android所有控件
2.對話框的實現--AlertDialog
3.自動提示框的實現--AutoCompleteTextView
4.Activity之間傳遞數據--Bundle
5.復選框--CheckBox
6.菜單的實現--Menu
7.日期選擇器--DataTimePicker
8.網格視圖控件--GridView
9.進度條控件--ProgressBar
10.單選控件--RadioGroup
11.打分組件--RatingBar
12.標簽控件--Tab
13.子菜單的實現--SubMenu
本文是轉載收藏,侵刪,出處:"安卓巴士"
|
下面給出實現各個組件的源代碼:
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());??
- ????????????}??
- ????????});??
- ??????????
- ????}??
- ??
- }??
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="你選擇的是:";@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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() {@Overridepublic void onItemSelected(AdapterView<?> adapter, View view,int position, long id) {// TODO Auto-generated method stubString str=(String)spinner1.getAdapter().getItem((int)id);setTitle(result+str);}@Overridepublic void onNothingSelected(AdapterView<?> arg0) {// TODO Auto-generated method stub}});//單擊第二個下拉按鈕時,顯示選擇的值。 spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> adapter, View view,int position, long id) {String str=(String)spinner2.getAdapter().getItem(position);setTitle(result+str);}@Overridepublic void onNothingSelected(AdapterView<?> arg0) {}});//單擊確定按鈕,提取選擇的值.ok.setOnClickListener(new View.OnClickListener() {@Overridepublic 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();??
- ????????????}??
- ????????});??
- ????}??
- }??
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;@Overrideprotected 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() {@Overridepublic 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() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialogActivity.this, "你選擇了確定按鈕!", Toast.LENGTH_SHORT).show();}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialogActivity.this, "你選擇了取消按鈕!", Toast.LENGTH_SHORT).show();}});builder.show();}});//第二種對話框button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {new AlertDialog.Builder(AlertDialogActivity.this).setIcon(R.drawable.alert_dialog_icon).setTitle("溫馨提示").setMessage("提示內容:三個按鈕").setPositiveButton("確定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialogActivity.this, "你選擇了確定按鈕!", Toast.LENGTH_SHORT).show();}}).setNeutralButton("詳情", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialogActivity.this, "你選擇了詳情按鈕!", Toast.LENGTH_SHORT).show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialogActivity.this, "你選擇了取消按鈕!", Toast.LENGTH_SHORT).show();}}).show();}});//第三種按鈕button3.setOnClickListener(new View.OnClickListener() {@Overridepublic 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() {@Overridepublic 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() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialogActivity.this, "你選擇了確定取消!", Toast.LENGTH_SHORT).show();}}).show();}});//第四種對話框button4.setOnClickListener(new View.OnClickListener() {@Overridepublic 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("");??
- ????????????}??
- ????????});??
- ????}??
- ??????
- }??
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",};@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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() {@Overridepublic 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 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;@Overrideprotected 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() {@Overridepublic 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);}});}//回調方法@Overrideprotected 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;??
- ????}??
- }??
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;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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() {@Overridepublic 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);??
- ????????????}??
- ????????});??
- ??????????
- ????}??
- ??
- }??
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;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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() {@Overridepublic 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;??
- ????}??
- ??????
- }??
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;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.context_menu);setTitle("單擊Menu鍵看到效果!");tv=(TextView)findViewById(R.id.tv1);this.registerForContextMenu(tv);//將上下文注冊到TextView}@Overridepublic void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {menu.add(0, ITEM0, 0, "紅色背景");menu.add(0,ITEM1,0,"綠色背景");menu.add(0,ITEM2,0,"白色背景");}@Overridepublic 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()+"分");??
- ????????????}??
- ????????});??
- ????}??
- ??
- }??
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));@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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() {@Overridepublic 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};??
- ??
- }??
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 {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn mImageIds.length;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic 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;??
- ??????????????
- ????????}??
- ??????????
- ????}??
- ??????
- }??
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;@Overridepublic 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() {@Overridepublic 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() {@Overridepublic void onClick(View v) {handler.removeCallbacks(progressBarThread); }});}//創建Handler對象Handler handler=new Handler();//創建線程對象MyRunnable progressBarThread=new MyRunnable();class MyRunnable implements Runnable{@Overridepublic 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+"男");??
- ????????????????}??
- ????????????}??
- ????????});??
- ????}??
- ??
- }??
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;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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() {@Overridepublic 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();??
- ????????????}??
- ????????});??
- ????}??
- }??
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;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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() {@Overridepublic 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));??
- ????}?????
- }??
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;??
- ????}??
- }??
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;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.sub_menu);setTitle("單擊Menu鍵看到效果!");}@Overridepublic 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;}@Overridepublic 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;}
}
注:源代碼附件下載:
http://download.csdn.net/detail/a1042185842b/9484637
posted on 2017-09-11 09:14 NET未來之路 閱讀(...) 評論(...) 編輯 收藏