把android 图片button里从 RadioButton和CheckButton 中获取的显示在一个TextView里!求解!

Android用户界面设计:单选按钮
Android用户界面设计:单选按钮
在这个快速教程中,您将学习如何建立基本的Android无线电使用RadioGroup中和RadioButton的选择控件。您还将学习如何作出反应,当用户选择一个特定的无线电选项,以及如何以不同的方式来填充无线电控制。
这种快速的技巧告诉你在你的Android应用程序的步骤创建一个简单的单选按钮,选择控制。首先,您将学习如何配置的RadioGroup中和RadioButton控制在布局文件中。接下来,您将学习如何处理从用户的单选按钮选择。最后,我们将讨论如何执行相同的任务编程方式,而不是在布局文件。
步骤1:创建一个Android应用程序
首先创建一个Android项目。实现你的Android应用程序是正常的。一旦你有一个项目的设立和运行的应用程序,决定在屏幕上,您要添加的RadioButton控件。也许你只是简单的创建一个新的Android项目,它的默认活动和布局(main.xml中)。这将适用于本教程。一旦你已经得到了你的Android项目设置,您就可以继续进行这个快速提示。
你可以跟着我们的项目:SimpleRadioButton,这是作为一个开放源码项目。
第2步:使用RadioGroup中控制
Android的SDK包括两个无线电一起使用,使在一个给定的时间,只有一个控制可以选择一组单选按钮控件的控件。RadioGroup中控制(android.widget.RadioGroup)的用于封装一组RadioButton控件用于此目的。
一个RadioGroup中控制是一个简单的RadioButton控件的容器,但它确实有一些有用的性质。例如,你可以有横向和纵向的单选按钮组。这是使用的Android版本:定位属性,就像一个LinearLayout。
下面是一个例子RadioGroup中的垂直控制具有三个RadioButton控件。
您可以使用另一个有趣的属性是androidCheckedButton属性。您可以使用此属性来设置的RadioButton你要检查默认情况下,使用此属性的子控件的视图标识符。
第3步:使用RadioButton控件
一旦你已经配置的RadioGroup中控制,你需要给它添加一些子控件。具体而言,您需要添加RadioGroup中的控制(android.widget.RadioButton)。一个单选按钮控件有很多属性,你会发现熟悉的和控制,这是我们在前面的教程中谈到。
一个RadioButton的典型属性是:
的android:id属性用于唯一地标识在RadioGroup中的RadioButton控制
Android版本:文本属性用于指定相关联的文本与选择。可以设置为典型的文本属性,如颜色,大小和样式。
的android:onClick属性RadioGroup中在此单选按钮被选中时,应使用指定的点击处理程序。
下面是一个示例XML布局的垂直RadioGroup中控制有三个单选按钮控件。每个RadioButton控件使用的是不同的字符串资源,但他们都有着相同的单击处理程序。
&RadioGroup
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/radio_group1"&
&RadioButton
android:id="@+id/radio_right1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/rad_option1"
android:checked="true"
android:textColor="#f00"/&
&RadioButton
android:id="@+id/radio_left1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/rad_option2"
android:textColor="#0f0" /&
&RadioButton
android:id="@+id/radio_ambi1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/rad_option3"
android:textColor="#00f" /&
&/RadioGroup&
第4步:处理点击-布局属性的方法
现在,如果你启动这个应用程序,单选按钮控件的显示,但什么也没有发生,如果你点击它们。现在,它的时间来处理控件的点击。有几种方法可以做到这一点。
让我们从最简单的方式。RadioButton控件有一个属性的onClick(在属性窗格中显示为“上”)。您设置的方法将处理点击此属性,然后在您的活动中实现该方法的名称。例如,您可以设置您的RadioButton控件属性onRadioButtonClick。在XML中,这个属性将显示为:
android:onClick="onRadioButtonClick"
然后,你需要在你的Activity类,实现此方法。这应该是一个public void方法只有一个参数,一个视图对象。例如,下面的按钮单击处理程序产生一个的吐司信息RadioButton控件被点击时在屏幕上:
public void onRadioButtonClick(View v) {
RadioButton button = (RadioButton)
Toast.makeText(SimpleRadioButtonActivity.this,
button.getText() + " was chosen.",
Toast.LENGTH_SHORT).show();
当您单击RadioButton控件,onRadioButtonClick()的方法被调用时,在屏幕上显示吐司消息。
第5步:实施单选按钮编程方式
比方说,你要填充一个RadioGroup中选择的数据库,或者一些其他原因,需要做编程,而不是使用布局文件。我们建议您RadioGroup中还包括一个空的控制布局文件中,为设计目的。请确保它有一个唯一的标识符与之相关联的,因此它可以通过编程方式访问。
让我们创建一个非常类似的无线电控制,如图2所示,只让我们做编程,并使用默认的RadioGroup中的定位,水平。在你的Activity类(例如,在你的onCreate()方法),创建并添加RadioButton控件,像这样:
RadioGroup rGroup3 = (RadioGroup) findViewById(R.id.radio_group3);
OnClickListener radio_listener = new OnClickListener() {
public void onClick(View v) {
onRadioButtonClick(v);
RadioButton button1 = new RadioButton(this);
button1.setText(R.string.rad_option1);
button1.setTextColor(Color.RED);
button1.setOnClickListener(radio_listener);
rGroup3.addView(button1);
RadioButton button2 = new RadioButton(this);
button2.setText(R.string.rad_option2);
button2.setTextColor(Color.GREEN);
button2.setOnClickListener(radio_listener);
rGroup3.addView(button2);
RadioButton button3 = new RadioButton(this);
button3.setText(R.string.rad_option3);
button3.setTextColor(Color.BLUE);
button3.setOnClickListener(radio_listener);
rGroup3.addView(button3);
rGroup3.check(button1.getId());
首先,我们找到了空RadioGroup中,这是我们的布局文件中定义(见源代码的详细信息,如果您需要更多的信息)。然后,我们创建三个RadioButton控件,设置自己的文字,文字颜色,以及编程onClickListener属性。最后,我们添加的RadioGroup中的家长控制设置红色单选按钮,默认情况下使用的检查()方法的RadioGroup中类的检查。
在这个快速教程中,您将学习如何建立基本的Android无线电使用RadioGroup中和RadioButton的选择控件。您还将学习如何作出反应,当用户选择一个特定的无线电选项,以及如何以不同的方式来
分享给朋友:
2017&Copyright该学网()本站部分资源来自网友上传,如有侵权请邮件通知,我们将在3个工作日内删除。android 中点击一个Button,怎样在TextView中显示点击次数?
这种问题没难度吧,页面上放一个 Button 和 TextView,在 Button 的 OnClick 中将点击次数+1,然后更新 TextView 显示的文本。
--- 共有 3 条评论 ---
看看 TextView 的 API 吧,这个是最基本的
我现在已经写了Button的监听器,点击次数可以++1,但是不会更新TextView的显示,能指教一下吗?
引用来自“鉴客”的答案
这种问题没难度吧,页面上放一个 Button 和 TextView,在 Button 的 OnClick 中将点击次数+1,然后更新 TextView 显示的文本。
布局文件中我的TextView属性:
android:id=&@+id/morensl&
style=&@style/layout_wrap&
android:text=&&
android:gravity=&center_horizontal&
android:layout_weight=&1&
在Activity中
TextView num_tv = (TextView) v.findViewById(R.id.morensl);
num_tv.setText(OrderActivity.this.m_ClickNum);//m_ClickNum就是我监听器里得到的点击事件的次数,可以打印出来
这样我运行程序之后,在界面上TextView位置什么都没显示,我很不明白是为什么
可以的 但是你要textView.setText(String.valueOf(num++));转一下。要是不转的话 系统会把它看成是ID 到 R.java 中找对应的资源,要是找不到就报没找到的异常
--- 共有 1 条评论 ---
num_tv.setText(String.valueOf(m_ClickNum));我已经这样写上了,但是还是在TextView位置什么都不显示呢
引用来自“纵横四海1956”的答案可以的 但是你要textView.setText(String.valueOf(num++));转一下。要是不转的话 系统会把它看成是ID 到 R.java 中找对应的资源,要是找不到就报没找到的异常//这是GridView的OnItemClickListener的监听
public void onItemClick(AdapterView&?& arg0, View arg1, int arg2, long arg3) {
LayoutInflater inflater = LayoutInflater.from(this);
//自定义了布局
final View v = inflater.inflate(R.layout.view02, null);
Button Right = (Button) v.findViewById(R.id.right);
Right.setOnClickListener(new righonclickListener());
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setTitle(&请选择:&)
.setView(v)
.setIcon(arg0.getId())
.setPositiveButton(&确定&, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
TextView num_tv = (TextView) v.findViewById(R.id.morensl);
num_tv.setText(String.valueOf(m_ClickNum));
String numStr = num_tv.getText().toString();
//省略下边对numStr的操作
.setNegativeButton(&取消&, null);
AlertDialog alert = builder.create();
alert.show();
//对Button的监听器
public class righonclickListener implements OnClickListener{
public void onClick(View arg0) {
// TODO Auto-generated method stub
m_ClickNum ++ ;//已经声明为Private
代码如上,不知道那个地方有问题啊?
这样点击Button按钮肯定是显示不出来点击次数的,除非你把 AlertDialog.Builder builder = new AlertDialog.Builder()... 写在Button监听里面,点击一次刷新一次
--- 共有 1 条评论 ---
有点不明白,能具体的说一下吗?
//对Button的监听器
& & public class righonclickListener implements OnClickListener{
& & @Override
& & public void onClick(View arg0) {
& & // TODO Auto-generated method stub
& & &m_ClickNum ++ ;//已经声明为Private
& & & & & & &&&num_tv.setText(String.valueOf(m_ClickNum));Android&单选按钮RadioButton的使用
单选按钮RadioButton在Android平台上也应用的非常多,比如一些选择项的时候,会用到单选按钮,实现单选按钮由两部分组成,也就是RadioButton和RadioGroup配合使用
RadioButton的单选按钮;
RadioGroup是单选组合框,用于将RadioButton框起来;
在没有RadioGroup的情况下,RadioButton可以全部都选中;
当多个RadioButton被RadioGroup包含的情况下,RadioButton只可以选择一个;
注意:单选按钮的事件监听用setOnCheckedChangeListener来对单选按钮进行监听
一道选择题,选择哪个城市美女最多,当然,这个就是为了测试
RadioTest.java
Java代码 &
package&org.loulijun.&&
import&android.app.A&&
import&android.os.B&&
import&android.view.G&&
import&android.widget.RadioB&&
import&android.widget.RadioG&&
import&android.widget.TextV&&
import&android.widget.T&&
public&class&RadioTest&extends&Activity&{&&
&&&&TextView&&&
&&&&RadioGroup&&&
&&&&RadioButton&radio1,radio2,radio3,radio4;&&
&&&&@Override&&
&&&&public&void&onCreate(Bundle&savedInstanceState)&{&&
&&&&&&&&super.onCreate(savedInstanceState);&&
&&&&&&&&setContentView(R.layout.main);&&
&&&&&&&&textview=(TextView)findViewById(R.id.textview1);&&
&&&&&&&&radiogroup=(RadioGroup)findViewById(R.id.radiogroup1);&&
&&&&&&&&radio1=(RadioButton)findViewById(R.id.radiobutton1);&&
&&&&&&&&radio2=(RadioButton)findViewById(R.id.radiobutton2);&&
&&&&&&&&radio3=(RadioButton)findViewById(R.id.radiobutton3);&&
&&&&&&&&radio4=(RadioButton)findViewById(R.id.radiobutton4);&&
&&&&&&&&&&
&&&&&&&&radiogroup.setOnCheckedChangeListener(new&RadioGroup.OnCheckedChangeListener()&{&&
&&&&&&&&&&&&&&
&&&&&&&&&&&&@Override&&
&&&&&&&&&&&&public&void&onCheckedChanged(RadioGroup&group,&int&checkedId)&{&&
&&&&&&&&&&&&&&&&//&TODO&Auto-generated&method&stub&&
&&&&&&&&&&&&&&&&if(checkedId==radio2.getId())&&
&&&&&&&&&&&&&&&&{&&
&&&&&&&&&&&&&&&&&&&&DisplayToast("正确答案:"+radio2.getText()+",恭喜你,回答正确!");&&
&&&&&&&&&&&&&&&&}else&&
&&&&&&&&&&&&&&&&{&&
&&&&&&&&&&&&&&&&&&&&DisplayToast("请注意,回答错误!");&&
&&&&&&&&&&&&&&&&}&&
&&&&&&&&&&&&}&&
&&&&&&&&});&&
&&&&public&void&DisplayToast(String&str)&&
&&&&&&&&Toast&toast=Toast.makeText(this,&str,&Toast.LENGTH_LONG);&&
&&&&&&&&toast.setGravity(Gravity.TOP,0,220);&&
&&&&&&&&toast.show();&&
&strings.xml文件
Java代码 &
&?xml&version="1.0"&encoding="utf-8"?&&&
&resources&&&
&&&&&string&name="hello"&哪个城市美女多?&/string&&&
&&&&&string&name="app_name"&单选按钮测试&/string&&&
&&&&&string&name="radiobutton1"&杭州&/string&&&
&&&&&string&name="radiobutton2"&成都&/string&&&
&&&&&string&name="radiobutton3"&重庆&/string&&&
&&&&&string&name="radiobutton4"&苏州&/string&&&
&/resources&&&
&main.xml文件:注意,这里面,4个RadioButton包含在RadioGroup中
Java代码 &
&?xml&version="1.0"&encoding="utf-8"?&&&
&LinearLayout&xmlns:android="/apk/res/android"&&
&&&&android:orientation="vertical"&&
&&&&android:layout_width="fill_parent"&&
&&&&android:layout_height="fill_parent"&&
&TextView&&&&
&&&&android:layout_width="fill_parent"&&&
&&&&android:layout_height="wrap_content"&&&
&&&&android:text="@string/hello"&&
&&&&android:id="@+id/textview1"&&
&&&&&RadioGroup&&
&&&&&&&&android:id="@+id/radiogroup1"&&
&&&&&&&&android:layout_width="wrap_content"&&
&&&&&&&&android:layout_height="wrap_content"&&
&&&&&&&&android:orientation="vertical"&&
&&&&&&&&android:layout_x="3px"&&
&&&&&&&&&RadioButton&&
&&&&&&&&&&&&android:id="@+id/radiobutton1"&&
&&&&&&&&&&&&android:layout_width="wrap_content"&&
&&&&&&&&&&&&android:layout_height="wrap_content"&&
&&&&&&&&&&&&android:text="@string/radiobutton1"&&
&&&&&&&&/&&&
&&&&&&&&&RadioButton&&
&&&&&&&&&&&&android:id="@+id/radiobutton2"&&
&&&&&&&&&&&&android:layout_width="wrap_content"&&
&&&&&&&&&&&&android:layout_height="wrap_content"&&
&&&&&&&&&&&&android:text="@string/radiobutton2"&&
&&&&&&&&/&&&
&&&&&&&&&RadioButton&&
&&&&&&&&&&&&android:id="@+id/radiobutton3"&&
&&&&&&&&&&&&android:layout_width="wrap_content"&&
&&&&&&&&&&&&android:layout_height="wrap_content"&&
&&&&&&&&&&&&android:text="@string/radiobutton3"&&
&&&&&&&&/&&&
&&&&&&&&&RadioButton&&
&&&&&&&&&&&&android:id="@+id/radiobutton4"&&
&&&&&&&&&&&&android:layout_width="wrap_content"&&
&&&&&&&&&&&&android:layout_height="wrap_content"&&
&&&&&&&&&&&&android:text="@string/radiobutton4"&&
&&&&&&&&/&&&
&&&&&/RadioGroup&&&
&/LinearLayout&&&
&运行结果如下:
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/upload/attachment/451c2-40dd-3c82-b59a-ddf890fd979a.gif" ALT=""
TITLE="Android&单选按钮RadioButton的使用" />
&假如我们选择杭州,会提示错误的Toast
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/upload/attachment/f-d-f4ae1dfc0406.gif" ALT=""
TITLE="Android&单选按钮RadioButton的使用" />
&再次选中成都后,会提示答案正确
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/upload/attachment/438330/ce32cd13-fa95-3a19-bd6f-2a205f8c9bd1.gif" ALT=""
TITLE="Android&单选按钮RadioButton的使用" />
里就可以看到,单选按钮的使用效果,如果只是使用RadioButton的话,把配置文件中RadioGroup去掉,当然,要重新为每个单选按钮设置监
听,这样,这个RadioButton就跟Button没有什么区别了,我们可以选中多个,所以要注意,单选按钮要和RadioGroup一起使用,才能
够实现单选的功能
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。& Android学习指南之九:Button、TextView、EditView、CheckBox、RadioGroup、ImageView、ImageButton
Android学习指南之九:Button、TextView、EditView、CheckBox、RadioGroup、ImageView、ImageButton
&&&&&& 本节继续讲解用户界面的相关内容,主要包括、、EditView、CheckBox、RadioGroup、ImageView和ImageButton。&&&&&& 一、Button按钮&&&&&&&按钮是程序中最常见的一个元素,我们通过一个例子感受一下,代码的讲解都写在注释里了,所以我就直接上代码和代码的运行结果。
package&android.basic.lesson9; &&
import&android.app.A &&
import&android.os.B &&
import&android.view.V &&
import&android.view.View.OnClickL &&
import&android.widget.B &&
import&android.widget.TextV &&
public&class&MainHelloButton&extends&Activity&{ &&
&&&&@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); &&
}&&&&&&&& 下面是布局文件:
&version=&1.0&&encoding=&utf-8&&&
&android:layout_height=&fill_parent&&android:layout_width=&fill_parent&&android:gravity=&center&&android:orientation=&vertical&&xmlns:android=&/apk/res/android&&&
&&&&&&&&&android:layout_height=&wrap_content&&android:layout_width=&wrap_content&&android:id=&@+id/TextView01&&android:text=&杜鹃不啼,如何让它啼?&&android:textsize=&20sp&&android:layout_marginbottom=&10dp&&&
&&&&&&&&&&
&&&&&&&&&android:layout_height=&wrap_content&&android:layout_width=&wrap_content&&android:id=&@+id/Button01&&android:text=&杀之不足惜!&&android:textsize=&20sp&&&
&&&&&&&&&&
&&&&&&&&&android:layout_height=&wrap_content&&android:layout_width=&wrap_content&&android:id=&@+id/Button02&&android:text=&诱之自然啼!&&android:textsize=&20sp&&&
&&&&&&&&&&
&&&&&&&&&&&&&&&&&android:layout_height=&wrap_content&&android:layout_width=&wrap_content&&android:id=&@+id/Button03&&android:text=&待之莫须急!&&android:textsize=&20sp&&&
&&&&&&&&&&
&&&&&&&&& 下面就是运行效果:&&&&&& 点击某个按钮之后,标题栏发生变化:&&&&&& 我们可以留意到 OnClickListener 是View的一个内部接口,也留意到想更改某个Activity的标题栏,可以用setTitle的方法直接设置。 如果看源代码的话我们也可以留意到Button是我们下面要讲的TextView的子类,对句话你有个印象就行了。&&&&&& 二、TextView文本框&&&&& 我们在很早以前的例子里已经开始使用TextView这个组件,足可见他应用之广泛。它的用处就是显示文本,它也是最基本的一个视图组件。我们有必要看一下TextView的继承关系:&&&&&& 从上图看到Button、EditText、CheckBox、RadioButton等等常用组件都是TextView的直接子类或间接子类,因此我们本讲里TextView内容虽然不多,但是这个组件大家还是要处处留意,逐步加深对TextView类的理解。下面我们举一个例子,来看一下TextView,并认识一下使用setMovementMethod()方法实现文本可滚动,下面看代码:
package&android.basic.lesson9; &&
import&android.app.A &&
import&android.os.B &&
import&android.text.method.ScrollingMovementM &&
import&android.widget.TextV &&
public&class&HelloTextView&extends&Activity&{ &&
&&&&@Override&&
&&&&public&void&onCreate(Bundle&savedInstanceState)&{ &&
&&&&&&&&super.onCreate(savedInstanceState); &&
&&&&&&&&setContentView(R.layout.main); &&
&&&&&&&&&&
&&&&&&&&TextView&tv&=&(TextView)findViewById(R.id.TextView01); &&
&&&&&&&&&&
&&&&&&&&tv.setMovementMethod(ScrollingMovementMethod.getInstance()); &&
}&&&&&&&& main.代码:
&version=&1.0&&encoding=&utf-8&&&
&android:layout_height=&fill_parent&&android:layout_width=&fill_parent&&android:orientation=&vertical&&xmlns:android=&/apk/res/android&&&
&android:layout_height=&wrap_content&&android:layout_width=&fill_parent&&android:id=&@+id/TextView01&&android:text=&@string/hello&&android:textsize=&30sp&&&
&&&&&&&& 长长的关于冯诺依曼的文本我就不粘贴了,它定义在strings.xml文件里。下面是显示效果:&&&&&& 我们知道在TextView外层套一个ScrollView也可以实现文本滚动的,同学们自己可以实现一下,然后对比其显示效果有何不同(某一个带滚动条)。&&&&&& 三、EditView可编辑文本框&&&&&& 我们通过一个例子来介绍一下EditView。&&&&&& 1、新建一个项目,在main.xml中添加一个EditText。
android:text=&&&&&& &&
android:id=&@+id/EditText01&&&& &&
android:hint=&随便输点什么然后按回车&&&&&android:layout_width=&fill_parent&&&&&android:layout_height=&wrap_content&&&
&&&&&&&& 其中,android:hint属性就是没有输入内容之前的提示内容,hint英文的意思也是暗示之意。&&&&&& 2、在onCreate()方法中添加如下代码:
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){ &&
&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&Toast.makeText(MainHelloEditView.this,&et.getText(), &&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Toast.LENGTH_SHORT).show(); &&
&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&return&true; &&
&&&&&&&&&&&&&&&&} &&
&&&&&&&&&&&&&&&&return&false; &&
&&&&&&&&} &&
});&&&&&&&& 3、运行程序,输入一些文字之后按回车键看看效果:&&&&& 有兴趣的同学可以把toast后面的return true换成 return false看看效果,再按OK键呼出软键盘试试。&&&&& 四、ImageView 图片框,ImageButton 图片按钮&&&&& 我们通过一个例子来看一下ImageView和ImageButton的应用。
package&android.basic.lesson9; &&
import&android.app.A &&
import&android.os.B &&
import&android.view.MotionE &&
import&android.view.V &&
import&android.view.View.OnClickL &&
import&android.view.View.OnTouchL &&
import&android.widget.ImageB &&
import&android.widget.ImageV &&
import&android.widget.T &&
public&class&MainHelloImageButton&extends&Activity&{ &&
&&&&&&&&&&
&&&&&&&&@Override&&
&&&&&&&&public&void&onCreate(Bundle&savedInstanceState)&{ &&
&&&&&&&&&&&&&&&&super.onCreate(savedInstanceState); &&
&&&&&&&&&&&&&&&&setContentView(R.layout.main); &&
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&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配置:
&version=&1.0&&encoding=&utf-8&&&
&android:layout_height=&fill_parent&&android:layout_width=&fill_parent&&android:gravity=&center&&android:orientation=&vertical&&xmlns:android=&/apk/res/android&&&
&&&&&&&&&android:layout_height=&wrap_content&&android:layout_width=&wrap_content&&android:id=&@+id/ImageButton01&&android:layout_marginbottom=&10dp&&android:src=&@drawable/android_normal&&&
&&&&&&&&&&&&&&&&&&
&&&&&&&&&android:layout_height=&wrap_content&&android:layout_width=&wrap_content&&android:id=&@+id/ImageView01&&android:src=&@drawable/android_normal&&&
&&&&&&&&&&&&&&&&&&
&&&&&&&& 运行效果:&&&&&& 通过这个例子大家可以体会一下OnTouch和OnClick事件之间的区别。&&&&&& 五、CheckBox选择框&&&&&& 我们也是使用一个例子来演示选择框,请在这里例子里留意onClickListener和onCheckedChangeListener的区别。
package&android.basic.lesson9; &&
import&android.app.A &&
import&android.os.B &&
import&android.view.V &&
import&android.view.View.OnClickL &&
import&android.widget.B &&
import&android.widget.CheckB &&
import&poundB &&
import&poundButton.OnCheckedChangeL &&
import&android.widget.T &&
public&class&MainHelloCheckBox&extends&Activity&{ &&
&&&&&&&&&&
&&&&&&&&@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的代码:
&version=&1.0&&encoding=&utf-8&&&
&android:layout_height=&fill_parent&&android:layout_width=&fill_parent&&android:orientation=&vertical&&xmlns:android=&/apk/res/android&&&
&android:layout_height=&wrap_content&&android:layout_width=&fill_parent&&android:id=&@+id/TextView01&&android:text=&选择你想得到的东西:&&&
&android:layout_height=&wrap_content&&android:layout_width=&wrap_content&&android:id=&@+id/CheckBox01&&android:text=&得不到&&&
&android:layout_height=&wrap_content&&android:layout_width=&wrap_content&&android:id=&@+id/CheckBox02&&android:text=&已失去&&&
&&&&&&&& 运行效果如下图,点击选择和取消选择都会触发事件,做出消息提示,请留意之间的异同。&&&&&&&六、RadioGroup单选组和RadioButton单选按钮&&&&&& 在这一小节里,我们创建一个RadioGroup组件和他的两个子元素RadioButton,实现单选效果。&&&&&& 1、新建一个项目,打开res/layout/main.xml 添加如下代码:
&version=&1.0&&encoding=&utf-8&&&
&android:layout_height=&fill_parent&&android:layout_width=&fill_parent&&android:orientation=&vertical&&xmlns:android=&/apk/res/android&&&
&&&&&android:layout_height=&wrap_content&&android:layout_width=&fill_parent&&android:orientation=&vertical&&&
&&&&&&&android:layout_height=&wrap_content&&android:layout_width=&wrap_content&&android:id=&@+id/radio_red&&android:text=&红&&&
&&&&&&&android:layout_height=&wrap_content&&android:layout_width=&wrap_content&&android:id=&@+id/radio_blue&&android:text=&蓝&&&
&&&&&&&& 添加android:checked=&true&可以做一个默认选中项,如果不增加的话默认都不是选中状态。(读者可以试一下两个单选钮都设置了选中状态时,会有什么结果,思考一下为什么是这样。)&&&&&& 2、在Acticity里处理一下点击事件:
package&android.basic.lesson9; &&
import&android.app.A &&
import&android.os.B &&
import&android.view.V &&
import&android.view.View.OnClickL &&
import&android.widget.RadioB &&
import&android.widget.T &&
public&class&MainHelloRadioGroup&extends&Activity&{ &&
&&&&&&&&&&
&&&&&&&&@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、运行程序,查看结果:&&&&&& 本讲内容比较多,例子也比较多,大家可以多做练习来加深理解和提高熟练度,并留意一些常用属性的设置。这节课就到这里吧。
本文发布:
本文地址:
发布:鸡啄米
&&( 22:16:54)&&( 21:16:10)
安卓会越做越好的!鸡啄米 于
23:33:08 回复希望Android发展越来越好
完全随机文章}

我要回帖

更多关于 android 图片button 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信