Android系统为我们提供了大量的控件,例如:开关控件、单选按钮、多选按钮、单选菜单等等,那么这些控件如何使用呢?本篇我将带领大家一道学习一下如何使用这些控件。所谓无图无真相,先让大家看一下效果图:
下面我们就一起学习一下这些控件的使用吧,首先是我们这边效果的布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="${relativePackage}.${activityClass}" ><LinearLayout android:id="@+id/lative"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent" android:background="#FF000000"><TextViewandroid:id="@+id/Textview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/hello_world" /><ProgressBar android:id="@+id/Barfirst"style="?android:attr/progressBarStyleHorizontal"android:max="100"android:visibility="gone"android:layout_width="200dip"android:layout_height="wrap_content"/><ProgressBarandroid:id="@+id/Bartwo"android:visibility="gone"android:layout_width="wrap_content"android:layout_height="wrap_content"/><Button android:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/open"/><CheckBox android:id="@+id/reading"android:layout_width="wrap_content"android:layout_height="wrap_content"android:checked="true"android:text="@string/reading"/><CheckBox android:id="@+id/music"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/music"/><CheckBox android:id="@+id/youyong"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/youyong"/><RadioGroup android:id="@+id/radio"android:layout_width="wrap_content"android:layout_height="wrap_content" ><RadioButton android:id="@+id/nan"android:layout_width="wrap_content"android:layout_height="wrap_content"android:checked="true"android:text="@string/nan"/><RadioButton android:id="@+id/nv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/nv"/></RadioGroup><ToggleButton android:id="@+id/togbutton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textOn="@string/biejingquit"android:textOff="@string/biejingopen"/><Button android:id="@+id/first"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/xiayiye"/> </LinearLayout> </RelativeLayout>
下面是我们的主Activity,为了方便大家拷贝学习,我将各个控件的事件都添加了注释,大家一看应该就能明白,这里就不在赘述。
public class Activityone extends Activity {private Button mybutton;//打开进度条按钮private Button mybuttonfirst;//普通跳转按钮private ProgressBar mybarfirst;//进度条1private ProgressBar mybartwo;//进度条2private TextView mytext;//文本控件private CheckBox reading;//多选按钮private CheckBox music;//多选按钮private CheckBox youyong;//多选按钮private RadioButton nan;//单选按钮private RadioButton nv;//单选按钮private ToggleButton togbutton;//开关控件private LinearLayout lative;//主布局控件private int cont = 0;//记录进度条大小 @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.All();//设置activity全屏显示 setContentView(R.layout.activity_one);mybutton=(Button)findViewById(R.id.button);mybuttonfirst=(Button)findViewById(R.id.first);mytext=(TextView)findViewById(R.id.Textview);mybarfirst=(ProgressBar)findViewById(R.id.Barfirst);mybartwo=(ProgressBar)findViewById(R.id.Bartwo);reading=(CheckBox)findViewById(R.id.reading);music=(CheckBox)findViewById(R.id.music);youyong=(CheckBox)findViewById(R.id.youyong);nan=(RadioButton)findViewById(R.id.nan);nv=(RadioButton)findViewById(R.id.nv);togbutton=(ToggleButton)findViewById(R.id.togbutton);lative=(LinearLayout)findViewById(R.id.lative);//开关点击事件管理togbutton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if (togbutton.isChecked()) {lative.setBackgroundColor(0xFFF3F3F3);}else{lative.setBackgroundColor(0xFF000000);}}});//单选按钮nan.setOnClickListener(new myradiobuttonlistener());nv.setOnClickListener(new myradiobuttonlistener());//进度条开关管理mybutton.setOnClickListener(new mybuttonlistener());//多选按钮点击事件reading.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if (((CheckBox) v).isChecked()) {Toast.makeText(getApplicationContext(), R.string.reading, Toast.LENGTH_SHORT).show();}}});//多选按钮点击事件music.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if (((CheckBox) v).isChecked()) {Toast.makeText(getApplicationContext(), R.string.music, Toast.LENGTH_SHORT).show();}}});//多选按钮点击事件youyong.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if (((CheckBox) v).isChecked()) {Toast.makeText(getApplicationContext(), R.string.youyong, Toast.LENGTH_SHORT).show();}}});//普通跳转按钮点击事件管理mybuttonfirst.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(Activityone.this, Activitytwo.class);Activityone.this.startActivity(intent);}});}//进度条控制class mybuttonlistener implements OnClickListener{@Overridepublic void onClick(View v) {if(cont==0){mybarfirst.setVisibility(View.VISIBLE);mybartwo.setVisibility(0);mytext.setText(R.string.addone);mybutton.setText(R.string.add);}else if(cont<=100){mybarfirst.setProgress(cont);mybarfirst.setSecondaryProgress(cont+10);}else{mybarfirst.setProgress(0);mybarfirst.setSecondaryProgress(0);mybarfirst.setVisibility(View.GONE);mybartwo.setVisibility(View.GONE);mytext.setText(R.string.hello_world);mybutton.setText(R.string.open);cont=-10;}cont+=10;} }//单选点击事件class myradiobuttonlistener implements OnClickListener{@Overridepublic void onClick(View v) {RadioButton rb = (RadioButton) v;//获得被点击的控件Toast.makeText(getApplicationContext(), rb.getText(), Toast.LENGTH_SHORT).show();//rb.getText():得到被点击的选项 }}//设置应用全屏显示 private void All(){requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);}//系统菜单(menu菜单)public boolean onCreateOptionsMenu(Menu menu) {menu.add(0, 1, 1, R.string.quit);menu.add(0, 2, 2, R.string.about);return super.onCreateOptionsMenu(menu); }@Overridepublic boolean onOptionsItemSelected(MenuItem item) {if(item.getItemId()==1){//创建一个提示对话框AlertDialog.Builder builder = new AlertDialog.Builder(Activityone.this);//获得一个警戒对话框 builder.setTitle(R.string.menu_quit);builder.setMessage(R.string.menu_mager);builder.setPositiveButton(R.string.menu_yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish();} });builder.setNegativeButton(R.string.menu_no, null);builder.show();}return super.onOptionsItemSelected(item);}}
下面为大家介绍一下弹出弹出对话框的知识,还是老一套,先看代码,首先是布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="${relativePackage}.${activityClass}" ><LinearLayout android:orientation="vertical"android:id="@+id/lineartwo"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextView android:id="@+id/texttwo"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="@string/duihua"android:textSize="20dip"/><Button android:id="@+id/buttontwo1"android:text="@string/danxuan"android:layout_width="fill_parent" android:layout_height="wrap_content"/><Button android:id="@+id/buttontwo2"android:text="@string/duoxuan"android:layout_width="fill_parent"android:layout_height="wrap_content"/><Button android:id="@+id/buttontwo3"android:text="@string/liebiao"android:layout_width="fill_parent"android:layout_height="wrap_content"/><Button android:id="@+id/buttontwo4"android:text="自定义弹出窗口"android:layout_width="fill_parent"android:layout_height="wrap_content"/><Button android:id="@+id/buttontwo5"android:text="@string/xiayiye"android:layout_width="fill_parent"android:layout_height="wrap_content"/></LinearLayout> </RelativeLayout>
下面是主Activity代码:
public class Activitytwo extends Activity{private Button mybutton1;//单选对话框private Button mybutton2;//多选对话框private Button mybutton3;//列表对话框private Button mybutton4;//自定义弹出对话框private Button mybutton5;//普通跳转按钮private String arr[]={"男","女","少年","青年","中年","老年","已婚","未婚","本科","硕士","博士"};private String brr[]={"游泳","听音乐","看书","打电脑游戏","书法","看电视","玩手机","唱歌","旅游","学习"};private boolean[] brrs={true,true,false,false,true,false,false,false,false,false};//与brr[]一一对应,true:默认被选择;false:默认不被选择private String crr[]={"北京","上海","天津","河南","湖南","湘潭","长沙","武汉","福建","澳门","香港","深圳","广州"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_two2);mybutton1=(Button)findViewById(R.id.buttontwo1);mybutton2=(Button)findViewById(R.id.buttontwo2);mybutton3=(Button)findViewById(R.id.buttontwo3);mybutton5=(Button)findViewById(R.id.buttontwo5);mybutton4=(Button)findViewById(R.id.buttontwo4);//单选提示对话框mybutton1.setOnClickListener(new mybutton1listener());//多选提示对话框mybutton2.setOnClickListener(new mybutton2listener());//下拉提示对话框mybutton3.setOnClickListener(new mybutton3listener());//自定义弹出对话框mybutton4.setOnClickListener(new mybutton4listener());//普通跳转按钮mybutton5.setOnClickListener(new mybutton5listener());}//单选事件监听class mybutton1listener implements OnClickListener{@Overridepublic void onClick(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(Activitytwo.this);builder.setTitle(R.string.duoxuan);//设置标题builder.setIcon(R.drawable.ic_launcher);//设置图标builder.setSingleChoiceItems(arr , 0, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(Activitytwo.this, " "+"你选择的是:"+arr[which], Toast.LENGTH_LONG).show();//dialog.dismiss(); }});//设置选择的内容builder.setPositiveButton(R.string.menu_yes, null);builder.show();}}//多选事件监听class mybutton2listener implements OnClickListener{@Overridepublic void onClick(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(Activitytwo.this);builder.setTitle(R.string.duoxuan);builder.setIcon(R.drawable.ic_launcher);builder.setMultiChoiceItems(brr, brrs, new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {for(int i=0;i<brr.length;i++){if(i==which&&isChecked){Toast.makeText(Activitytwo.this, " "+brr[i], Toast.LENGTH_SHORT).show();}}}});builder.setPositiveButton(R.string.menu_yes, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});builder.show();}}//下拉列表事件监听class mybutton3listener implements OnClickListener{@Overridepublic void onClick(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(Activitytwo.this);builder.setTitle(R.string.liebiao);builder.setIcon(R.drawable.ic_launcher);builder.setItems(crr, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(Activitytwo.this, " "+crr[which], Toast.LENGTH_SHORT).show();}});builder.setPositiveButton(R.string.menu_yes, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});builder.show();}}class mybutton4listener implements OnClickListener{@Overridepublic void onClick(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(Activitytwo.this);builder.setTitle("登录窗口");builder.setIcon(R.drawable.ic_launcher);View login = Activitytwo.this.getLayoutInflater().inflate(R.layout.info, null);//设置弹出窗口的视图 builder.setView(login);final AlertDialog alerrt = builder.create();alerrt.show();Button button1 = (Button) login.findViewById(R.id.button1);button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {alerrt.dismiss();}});}}//普通跳转class mybutton5listener implements OnClickListener{@Overridepublic void onClick(View v) {Intent intent = new Intent(Activitytwo.this,Activitythree.class);Activitytwo.this.startActivity(intent);}} }
好了,关于Android控件使用的知识就为大家分享完毕,内容很简单,如有疑问可以留言讨论。新手学习,高手交流。