Android学习指南之九:Button、TextView、EditView、CheckBox、RadioGroup、ImageView、ImageButton
2012-06-20 22:30
841 查看
本节继续讲解用户界面的相关内容,主要包括Button、TextView、EditView、CheckBox、RadioGroup、ImageView和ImageButton。
一、Button按钮
按钮是程序中最常见的一个元素,我们通过一个例子感受一下,代码的讲解都写在注释里了,所以我就直接上代码和代码的运行结果。
有兴趣的同学可以把toast后面的return true换成 return false看看效果,再按OK键呼出软键盘试试。
四、ImageView 图片框,ImageButton 图片按钮
我们通过一个例子来看一下ImageView和ImageButton的应用。
本讲内容比较多,例子也比较多,大家可以多做练习来加深理解和提高熟练度,并留意一些常用属性的设置。这节课就到这里吧。
一、Button按钮
按钮是程序中最常见的一个元素,我们通过一个例子感受一下,代码的讲解都写在注释里了,所以我就直接上代码和代码的运行结果。
package android.basic.lesson9; import android.app.Activity; import android.os.Bundle; import android.view.View; //不熟悉内部类的朋友可以留意一下这里的导入方式 import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainHelloButton extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //实现一个多按钮可用的单击监听器对象 OnClickListener listener = new Button.OnClickListener(){ @Override public void onClick(View v) { setTitle("您的答案是:"+((TextView)v).getText()); } }; //为界面中的每个按钮绑定上这个单击监听器 findViewById(R.id.Button01).setOnClickListener(listener); findViewById(R.id.Button02).setOnClickListener(listener); findViewById(R.id.Button03).setOnClickListener(listener); } }下面是布局文件:
package android.basic.lesson9; import android.app.Activity; import android.os.Bundle; import android.text.method.ScrollingMovementMethod; import android.widget.TextView; public class HelloTextView extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //找到TextView组件 TextView tv = (TextView)findViewById(R.id.TextView01); //设置移动方法 tv.setMovementMethod(ScrollingMovementMethod.getInstance()); } }main.xml代码:
//找到xml中定义的EditText final EditText et = (EditText) findViewById(R.id.EditText01); et.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { //监视硬键盘按键 if(event.getAction()== KeyEvent.ACTION_DOWN && keyCode== KeyEvent.KEYCODE_ENTER){ //按住把EditView中的文版显示在吐司消息中 Toast.makeText(MainHelloEditView.this, et.getText(), Toast.LENGTH_SHORT).show(); //返回true说明你已经处理了这个事件并且它应该就此终止,如果返回false就表示此事件还需要继续传递下去 return true; } return false; } });3、运行程序,输入一些文字之后按回车键看看效果:
有兴趣的同学可以把toast后面的return true换成 return false看看效果,再按OK键呼出软键盘试试。
四、ImageView 图片框,ImageButton 图片按钮
我们通过一个例子来看一下ImageView和ImageButton的应用。
package android.basic.lesson9; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.Toast; public class MainHelloImageButton extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 找到xml中的ImageButton和ImageView final ImageButton ib = (ImageButton) findViewById(R.id.ImageButton01); final ImageView iv = (ImageView) findViewById(R.id.ImageView01); // 定义触摸监听 OnTouchListener otl = new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (v.getId()) { case R.id.ImageButton01: Toast.makeText(getApplicationContext(), "触摸"+((ImageView)v).getId(), Toast.LENGTH_LONG).show(); break; case R.id.ImageView01: Toast.makeText(getApplicationContext(), "触摸"+((ImageView)v).getId(), Toast.LENGTH_LONG).show(); break; } return false; } }; // 定义点击监听 OnClickListener ocl = new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "点击"+((ImageView)v).getId(), Toast.LENGTH_LONG).show(); } }; // 绑定监听 ib.setOnClickListener(ocl); ib.setOnTouchListener(otl); iv.setOnClickListener(ocl); iv.setOnTouchListener(otl); } }main.xml配置:
package android.basic.lesson9; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.Toast; public class MainHelloCheckBox extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //声明对象 final CheckBox cb1 = (CheckBox) findViewById(R.id.CheckBox01); final CheckBox cb2 = (CheckBox) findViewById(R.id.CheckBox02); //声明监听器 OnClickListener ocl = new OnClickListener() { @Override public void onClick(View v) { if(!((CheckBox)v).isChecked()){ Toast.makeText(MainHelloCheckBox.this, "\""+((Button)v).getText()+"\"被取消", Toast.LENGTH_SHORT).show(); } } }; OnCheckedChangeListener occl = new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ Toast.makeText(MainHelloCheckBox.this, "\""+buttonView.getText()+"\"被选择", Toast.LENGTH_SHORT).show(); } } }; //绑定监听器 cb1.setOnCheckedChangeListener(occl); cb2.setOnCheckedChangeListener(occl); cb1.setOnClickListener(ocl); cb2.setOnClickListener(ocl); } }main.xml的代码:
package android.basic.lesson9; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.RadioButton; import android.widget.Toast; public class MainHelloRadioGroup extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final RadioButton radio_red = (RadioButton) findViewById(R.id.radio_red); final RadioButton radio_blue = (RadioButton) findViewById(R.id.radio_blue); OnClickListener ocl = new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainHelloRadioGroup.this, ((RadioButton)v).getText(), Toast.LENGTH_SHORT).show(); } }; radio_red.setOnClickListener(ocl); radio_blue.setOnClickListener(ocl); } }3、运行程序,查看结果:
本讲内容比较多,例子也比较多,大家可以多做练习来加深理解和提高熟练度,并留意一些常用属性的设置。这节课就到这里吧。
相关文章推荐
- Android练习之EditText、ImageButton、CheckBox、RadioGroup、ImageView、Spinner
- Android 用户界面 Button TextView EditView CheckBox RadioGroup ImageView ImageButton
- Android控件(View)之TextView, Button, ImageButton, ImageView, CheckBox 简单介绍
- Android - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox
- Android - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox, RadioButton, AnalogClock, DigitalClock 的简单介绍
- 系出名门Android(5) - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox
- Android 学习笔记(3)—— ImageView/RadioButton/CheckBox
- 系出名门Android(5) - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox, RadioButton, AnalogClock, DigitalClock
- 系出名门Android(5) - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox
- 系出名门Android(5) - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox, RadioButton, AnalogClock, DigitalClock
- 系出名门Android(5) – 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox
- 系出名门Android(5) - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox, Ra
- 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox, RadioButton, AnalogClock, DigitalClock【转】
- Android学习指南之四十五:用户界面View之ImageSwitcher 和TextSwitcher
- Android学习(一)TextView,ImageView,Button,EditText,控件
- Android 第五课 常用控件的使用方法(TextView、Button、EditView、 ImageView、 ProgressBar、 ProgressDialog等)
- Android - VGA,ADB,DDMS,安卓开发环境目录结构,安卓目录结构,常见布局,点击事件的几种写法,控件(Button/TextView/ImageView/EditText)
- Android控件——TextView、EditText、ImageView、Button、ImageButton
- 雾山的Anrdoid学习笔记---CheckBox,RadioGroup&RadioButton .
- 08-21 RadioGroup,RadioButton autoLink属性 TextView中ellipsize属性 TextView的属性