Android基本事件的相应——按钮
来源:互联网 发布:js中鼠标点击图片放大 编辑:程序博客网 时间:2024/05/22 11:44
实现效果
利用三个按钮来控制一个文本框背景的颜色,其运行的结果如下图所示:
基本要点:
*得到布局文件(xml)的控件句柄
*设置控件的行为
步骤:
1.建立已运用程序,其AndroidMainfest.xml的描述为:
<activity android:name="TestEvent2" android:label="TestEvent2"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
2.layout的布局文件为
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/text1" android:layout_width="131dp" android:layout_height="wrap_content" android:layout_gravity="center" android:background="#ffff00" android:text=" " android:textSize="64sp"/> <Button android:id="@+id/button1" android:layout_width="127dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="56dp" android:text="red" /> <Button android:id="@+id/button2" android:layout_width="127dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="56dp" android:text="green" /> <Button android:id="@+id/button3" android:layout_width="127dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="56dp" android:text="blue" /></LinearLayout>
3.代码的实现
以上只是在布局文件中添加了按钮和文本框,但具体的行为还没有实现。以下将用三种方法来进行实现:
方法1:新建一个名为TestEvent1.java的文件,其内容如下:
package com.example.testbutton;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;//第一种相应方式public class TestEvent1 extends Activity { private static final String TAG ="TestEvent1"; public void TestEevent1(){ } @Override protected void onCreate(BundlesavedInstanceState) { //实现相关的接口 super.onCreate(savedInstanceState); setContentView(R.layout.testevent); final TextView Text = (TextView)findViewById(R.id.text1);//获得句柄 final Button Button1 = (Button)findViewById(R.id.button1); final Button Button2 = (Button)findViewById(R.id.button2); final Button Button3 = (Button)findViewById(R.id.button3); Button1.setOnClickListener(newOnClickListener() { @Override public voidonClick(View v) { Text.setBackgroundColor(Color.RED); } }); Button2.setOnClickListener(newOnClickListener() { @Override public voidonClick(View v) { Text.setBackgroundColor(Color.GREEN); } }); Button3.setOnClickListener(newOnClickListener() { @Override public voidonClick(View v) { Text.setBackgroundColor(Color.BLUE); } }); }}
方法2:新建一个名为TestEvent2.java的文件,其内容如下:
package com.example.testbutton;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;//方式2public class TestEvent2 extends Activity implements OnClickListener { private static final String TAG ="TestEvent2"; private TextView mText; private Button mButton1; private Button mButton2; private Button mButton3; public TestEvent2() { } @Override protected void onCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.testevent); mText = (TextView)findViewById(R.id.text1); mButton1 = (Button)findViewById(R.id.button1); mButton1.setOnClickListener(this); //设置监听器 mButton2= (Button) findViewById(R.id.button2); mButton2.setOnClickListener(this); mButton3= (Button) findViewById(R.id.button3); mButton3.setOnClickListener(this); } publicvoid onClick(View v) { Log.v(TAG,"onClick()"); switch(v.getId()) { caseR.id.button1: mText.setBackgroundColor(Color.RED); break; caseR.id.button2: mText.setBackgroundColor(Color.GREEN); break; caseR.id.button3: mText.setBackgroundColor(Color.BLUE); break; default: Log.v(TAG,"other"); break; } }}
方法3:新建一个名为TestEvent3.java的文件,其内容如下:
package com.example.testbutton;import android.R.color;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;//方式3public class TestEvent3 extends Activity { private static final String TAG ="TestEvent3"; private TextView mText; private Button1_OnClickListenermListener1 = new Button1_OnClickListener(); private Button2_OnClickListenermListener2 = new Button2_OnClickListener(); private Button3_OnClickListenermListener3 = new Button3_OnClickListener(); public TestEvent3(){ } class Button1_OnClickListener implementsOnClickListener{ @Override public void onClick(Viewarg0) { mText.setBackgroundColor(Color.RED); } } class Button2_OnClickListener implementsOnClickListener{ @Override public void onClick(Viewarg0) { mText.setBackgroundColor(Color.GREEN); } } class Button3_OnClickListener implementsOnClickListener{ @Override public void onClick(Viewarg0) { mText.setBackgroundColor(Color.BLUE); } } @Override protected void onCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.testevent); mText = (TextView)findViewById(R.id.text1); final Button mButton1 =(Button)findViewById(R.id.button1); final Button mButton2 =(Button)findViewById(R.id.button2); final Button mButton3 =(Button)findViewById(R.id.button3); mButton1.setOnClickListener(mListener1); mButton2.setOnClickListener(mListener2); mButton3.setOnClickListener(mListener3); }}
三种方式实现的功能是一样的,但是具体的实现方式有所不同。
0 0
- Android基本事件的相应——按钮
- Android为按钮添加相应事件
- Android——按钮的事件监听
- Android学习--为ListView添加按钮的相应事件,来处理不同的选择。
- 【java】事件监听——通过点击不同的按钮,让面板的背景色发生相应的变化
- U3D添加按钮相应事件
- GridView中为按钮添加相应的事件
- Unity3D 学习 创建简单的按钮、相应事件
- Unity3D 学习 创建简单的按钮、相应事件
- 多按钮的事件相应,getActionCommand & setActionCommand篇
- 使按钮不相应leaflet的地图事件
- Android简单的实现音乐播放器功能(一个按钮可相应两个事件的方法)
- Android按钮单击事件的四种写法—笔记
- javascript:按回车相应按钮提交事件
- javascript 按回车键相应按钮提交事件
- javascript 按回车键相应按钮提交事件
- javascript 按回车键相应按钮提交事件
- WPF动态添加按钮并相应事件。
- pandas.loc 选取指定列进行操作
- tolua++简介
- scrollview 滑动到指定位置,在java代码中设置控件自适应
- Oracle数据库char(7)改为char(36)后,再改为varchar2(36)出现的问题
- Java异常处理:java.lang.ClassCastException: JSON keys must be strings
- Android基本事件的相应——按钮
- Java基础学习第六天——二维数组与面向对象入门
- iOS svn提交静态库.a文件
- json跨域(2)----js跨域及解决方案
- 第一个程序(C/C++)_使用Notepad.exe和cl.exe
- js 格式化时间(显示格式为:yyyy-mm-dd hh:mi:ss)
- BlockingQueue接口及实现类分析
- 移动web开发框架研究
- 缓存管理注意