事件:

一般你点击一个按钮,触摸一下屏幕,都是事件。点击,键盘按键按下,鼠标滑过等等。

先看一个OnClick 安卓中的Button的点击事件:

activity_main.xml:android:onClick="Hello" 定义了一个Onclick的点击事件,点击之后,触发MainActivity中的Hello函数。

<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"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:text="Button"android:onClick="Hello" /></RelativeLayout>

MainActivity.java:

package com.example.test.com;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);}/*** 点击事件* @param v*/public void Hello(View v) {Toast.makeText(getBaseContext(), "YES!", Toast.LENGTH_SHORT).show();  //一个弹出框 }}

效果图:

换一种方法:

上面这种方法有点笨拙,每次对一个按钮需要定义一些事件的时候,都需要去更改xml布局文件,这样做比较麻烦也不优雅。我们可以再Java代码端,给按钮添加事件监听。

activity_main.xml

<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"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:text="Button"/></RelativeLayout>

MainActivity.java:

package com.example.test.com;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);//获取Button对象Button button1 = (Button) findViewById(R.id.button1);//添加点击事件的监听button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(getBaseContext(), "YES!", Toast.LENGTH_SHORT).show();       }});}}

OnTouch 点击拖动事件:

package com.example.test.com;import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);//获取Button对象Button button1 = (Button) findViewById(R.id.button1);//Button OnTouch事件button1.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {int iAction = event.getAction();if (iAction == MotionEvent.ACTION_MOVE) {Toast.makeText(getBaseContext(), "YES!", Toast.LENGTH_SHORT).show();  }return false;}});}}
<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"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:text="Button"/></RelativeLayout>

安卓还有很多很多事件,这些事件具体的都需要自己在实战中去操作和积累经验。用法什么的 其实就和上面的一样的。

安卓开发12:安卓各种事件操作相关推荐

  1. 前端开发者快速入门安卓开发(安卓嵌入式开发课程经验总结)

    目录 1.安卓开发结构 2.xml 3.java 使用xml的标签 Bitmap 4.开发注意 1.安卓开发结构 安卓开发和前端有异曲同工之处,只是js换成了Java,它的界面层是xml格式的,布局全 ...

  2. 安卓开发基础--打招呼(事件的简单处理)

    安卓开发基础--打招呼 事件处理部分Activity提供了和用户交互的可视化界面.创建一个Activity一般是继承Activity(当然也可以继承ListActivity.ActionBarActi ...

  3. 【安卓开发】安卓工程构建及第一个安卓程序运行

    目录 工程创建 模拟器配置 工程启动 工程创建 1. 打开安卓开发者工具 2. 创建安卓工程 3. 填充应用程序信息. 红色圈圈表示包名,要注意全部使用英文路径,1表示安卓SDK,表示编译出来的程序支 ...

  4. Android安卓|安卓概述、安卓开发、安卓入门、安卓架构

    Table of Contents Android 概述 什么是 Android? Android 开发优势 Android 的特性 Android 应用程序 Android 应用程序的类别 Andr ...

  5. 【安卓开发】安卓页面跳转

    目录 一.如何添加一个页面(activity) 二.如何实现页面的跳转 二.页面跳转传参 1. 方式一 2. 方式二 安卓线程实现页面跳转 安卓创建一个线程 三.Activity(页面)的生命周期 一 ...

  6. 【安卓开发】安卓开发工具: android studio(AS)的安装,配置与汉化保姆级详细教程

    android studio官方下载地址 点击进入官网 点击option 选择下载版本 我是windows 64位选了这个exe 右键,以管理员身份运行出现如下界面,无脑next next next ...

  7. 安卓开发:安卓应用上架主流平台汇总

    今天来分享一下安卓的上架平台,说起来安卓我觉得是比iOS麻烦的,毕竟安卓需要适配各个手机的型号,包括尺寸之类的,而且安卓的上架平台也比较多,但是主流的也就20个平台左右吧. 安卓各应用市场的入口整理. ...

  8. 安卓开发之安卓设置锁屏密码

    Java代码(MainActivity): package com.example.lock;import android.app.Activity; import android.app.admin ...

  9. 安卓开发之安卓手电筒

    Java代码(MainActivity): package com.example.light;import com.example.light.R;//import android.support. ...

最新文章

  1. 【深度学习】腹部CT的肝脏肿瘤分割的探索
  2. 通过双向证书认证使用 gSOAP 访问 web services
  3. Python编程基础:第十二节 嵌套循环Nested Loops
  4. angular指令监听ng-repeat渲染完成后执行自定义事件方法
  5. 使用.NET为Window Mobile写自动化工具的无奈之处.
  6. 1010 一元多项式求导(C语言)
  7. JMETER java.net.SocketException: Connection reset 报错解决方案
  8. 64位整数乘法(类快速幂)
  9. 暗通道去雾算法的python实现
  10. 《ARM Cortex-M3权威指南》--语句摘要
  11. Anaconda python版本降级
  12. echarts立体柱状图
  13. CleanMyMac2022免费版MAC内存清理空间软件
  14. mmo服务器 性能测试,【Zinx应用-MMO游戏案例-(5)构建项目及用户上线】Golang轻量级并发服务器框架...
  15. 计算机的供电方式,电脑主板电源供电方式
  16. 除了苹果耳机外哪个无线耳机好?苹果蓝牙耳机平替推荐
  17. MCAL中GTM的配置
  18. 【网络安全培训】无线局域网的安全威胁都有哪些?
  19. iOS即时通讯进阶 - CocoaAsyncSocket源码解析(Connect篇)
  20. 期货怎么克服频繁止损(期货交易怎么止损)

热门文章

  1. c++语言定义排序函数,关于C++中定义比较函数的三种方法小结
  2. 辽宁2009对口计算机试题文档之家,中职对口升学计算机网络检测试题一
  3. mysql 参照完整性规则_MySQL存储引擎你们知道多少?
  4. 打印出来只有a4纸一半 预览是正常的_还需要去打印店?能随身使用的便携打印机:汉印MT800评测...
  5. python游戏服务器引擎_KBEngine游戏服务器(一)——引擎环境配置
  6. 截取文件最后10行_10 行 Python 代码自动清理电脑内重复文件,解放双手
  7. 解决 Beyond Compare 3 许可证密钥被撤销
  8. javascript 跳转页面写法
  9. 定时任务的选型及改造
  10. 机房收费系统个人重构版:透过文档谈文档驱动开发