安卓开发12:安卓各种事件操作
事件:
一般你点击一个按钮,触摸一下屏幕,都是事件。点击,键盘按键按下,鼠标滑过等等。
先看一个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.安卓开发结构 2.xml 3.java 使用xml的标签 Bitmap 4.开发注意 1.安卓开发结构 安卓开发和前端有异曲同工之处,只是js换成了Java,它的界面层是xml格式的,布局全 ...
- 安卓开发基础--打招呼(事件的简单处理)
安卓开发基础--打招呼 事件处理部分Activity提供了和用户交互的可视化界面.创建一个Activity一般是继承Activity(当然也可以继承ListActivity.ActionBarActi ...
- 【安卓开发】安卓工程构建及第一个安卓程序运行
目录 工程创建 模拟器配置 工程启动 工程创建 1. 打开安卓开发者工具 2. 创建安卓工程 3. 填充应用程序信息. 红色圈圈表示包名,要注意全部使用英文路径,1表示安卓SDK,表示编译出来的程序支 ...
- Android安卓|安卓概述、安卓开发、安卓入门、安卓架构
Table of Contents Android 概述 什么是 Android? Android 开发优势 Android 的特性 Android 应用程序 Android 应用程序的类别 Andr ...
- 【安卓开发】安卓页面跳转
目录 一.如何添加一个页面(activity) 二.如何实现页面的跳转 二.页面跳转传参 1. 方式一 2. 方式二 安卓线程实现页面跳转 安卓创建一个线程 三.Activity(页面)的生命周期 一 ...
- 【安卓开发】安卓开发工具: android studio(AS)的安装,配置与汉化保姆级详细教程
android studio官方下载地址 点击进入官网 点击option 选择下载版本 我是windows 64位选了这个exe 右键,以管理员身份运行出现如下界面,无脑next next next ...
- 安卓开发:安卓应用上架主流平台汇总
今天来分享一下安卓的上架平台,说起来安卓我觉得是比iOS麻烦的,毕竟安卓需要适配各个手机的型号,包括尺寸之类的,而且安卓的上架平台也比较多,但是主流的也就20个平台左右吧. 安卓各应用市场的入口整理. ...
- 安卓开发之安卓设置锁屏密码
Java代码(MainActivity): package com.example.lock;import android.app.Activity; import android.app.admin ...
- 安卓开发之安卓手电筒
Java代码(MainActivity): package com.example.light;import com.example.light.R;//import android.support. ...
最新文章
- 【深度学习】腹部CT的肝脏肿瘤分割的探索
- 通过双向证书认证使用 gSOAP 访问 web services
- Python编程基础:第十二节 嵌套循环Nested Loops
- angular指令监听ng-repeat渲染完成后执行自定义事件方法
- 使用.NET为Window Mobile写自动化工具的无奈之处.
- 1010 一元多项式求导(C语言)
- JMETER java.net.SocketException: Connection reset 报错解决方案
- 64位整数乘法(类快速幂)
- 暗通道去雾算法的python实现
- 《ARM Cortex-M3权威指南》--语句摘要
- Anaconda python版本降级
- echarts立体柱状图
- CleanMyMac2022免费版MAC内存清理空间软件
- mmo服务器 性能测试,【Zinx应用-MMO游戏案例-(5)构建项目及用户上线】Golang轻量级并发服务器框架...
- 计算机的供电方式,电脑主板电源供电方式
- 除了苹果耳机外哪个无线耳机好?苹果蓝牙耳机平替推荐
- MCAL中GTM的配置
- 【网络安全培训】无线局域网的安全威胁都有哪些?
- iOS即时通讯进阶 - CocoaAsyncSocket源码解析(Connect篇)
- 期货怎么克服频繁止损(期货交易怎么止损)
热门文章
- c++语言定义排序函数,关于C++中定义比较函数的三种方法小结
- 辽宁2009对口计算机试题文档之家,中职对口升学计算机网络检测试题一
- mysql 参照完整性规则_MySQL存储引擎你们知道多少?
- 打印出来只有a4纸一半 预览是正常的_还需要去打印店?能随身使用的便携打印机:汉印MT800评测...
- python游戏服务器引擎_KBEngine游戏服务器(一)——引擎环境配置
- 截取文件最后10行_10 行 Python 代码自动清理电脑内重复文件,解放双手
- 解决 Beyond Compare 3 许可证密钥被撤销
- javascript 跳转页面写法
- 定时任务的选型及改造
- 机房收费系统个人重构版:透过文档谈文档驱动开发