- 浏览: 662538 次
- 性别:
- 来自: 安徽
文章分类
- 全部博客 (252)
- Html/Div+CSS (12)
- Js/Jquery (34)
- Flex (2)
- Ajax (3)
- Java (35)
- C# (15)
- Spring (16)
- Hibernate (13)
- Struts2 (12)
- Struts1 (7)
- DWR (1)
- iBatis/myBatis (9)
- Tag(JSTL、EL) (1)
- Android (44)
- SQL (7)
- SEO (7)
- Exception (3)
- Tool (10)
- Other (3)
- WebService (9)
- Apache (7)
- Ext (0)
- Utils (12)
- thinking in programme (2)
- Hadoop (0)
- ActiveMQ (0)
- HTML5/CSS3 (0)
- WPF (1)
- NodeJs (1)
- 设计模式 (0)
- 程序人生 (1)
- 随笔 (1)
- Linux (1)
- Load Balance (0)
最新评论
-
drinkjava2:
太复杂了而且不通用,利用ThreadLocal可完美解决这一问 ...
JDBC的多条件动态查询 -
u013107014:
multipartRequest.getFiles(" ...
多文件上传 by MultipartFile and Multiple -
liyys:
可惜没讲你mysql数据库的表的设计
iBatis入门 -
Mapple_leave:
效果还是挺不错的,谢谢了。
中文简体与繁体的转换 -
arcpad:
JS禁用浏览器退格键
在前面总结了简单的 Android 控件 和 Android 中常用的布局 ,那么我们知道要想让我们在 Android 上开发的图形界面有意义,真正的实现那种人机交互的操作,事件的处理是必须的。所以这篇我们总结一下 Android 中的事件处理。
基本上每个组件都会存在相应的事件处理操作,但是其基本的操作流程都是一样的。事件处理:
具体的事件方法大家可以查看 android.view 下的 View 类下,下面我们以一些常用的事件处理来进行说明,考虑到页面显示问题,所以会将几个事件处理拆成几篇博客处理。
一、单击事件
1 、改变屏幕方向 Demo :
如果手机的屏幕发生改变了,则肯定属于系统的设置发生了改变,所以一旦发生了系统的设置改变会自动执行 onConfigurationChanged() 方法。
onclick.xml :
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/btn_change" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="改变屏幕方向为横屏显示(当前为竖屏显示)"/> </LinearLayout>
Activity :
package com.iflytek.activity; import android.app.Activity; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class EventActivity extends Activity { private Button btnChange = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.main); // 1、单击事件处理Demo super.setContentView(R.layout.onclick); this.btnChange = (Button) super.findViewById(R.id.btn_change); this.btnChange.setOnClickListener(new MyOnClickLlistenerImpl()); } private class MyOnClickLlistenerImpl implements OnClickListener { @Override public void onClick(View v) { int screen_dir = EventActivity.this.getRequestedOrientation();// 获取当前屏幕方向,0表示横屏,1表示竖屏 if (screen_dir == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {// 无法进行画面旋转 EventActivity.this.btnChange.setText("错误:无法改变屏幕的方向"); } else { if (screen_dir == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {// 现在方向是横屏 EventActivity.this .setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);// 变成竖屏 } else if (screen_dir == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) { EventActivity.this .setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } } } } /** * 表示的时系统设置修改的时候触发 */ @Override public void onConfigurationChanged(Configuration newConfig) { //找到当前屏幕方向的一个标记性的常量,通过这个常量把值返回去 int screen_dir = newConfig.orientation; //注意这里不要再使用ActivityInfo.SCREEN_ORIENTATION_PORTRAIT了,因为有时这两个值是不一样的 if (screen_dir == Configuration.ORIENTATION_LANDSCAPE) { EventActivity.this.btnChange.setText("改变屏幕方向为竖屏显示(当前为横屏显示)"); }else if(screen_dir == Configuration.ORIENTATION_PORTRAIT){ EventActivity.this.btnChange.setText("改变屏幕方向为横屏显示(当前为竖屏显示)"); } super.onConfigurationChanged(newConfig); } }
AndroidManifest.xml :
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.iflytek.activity" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name=".EventActivity" android:screenOrientation="portrait" android:configChanges="orientation|keyboard" > <!-- android:screenOrientation设置开始按竖屏显示,这里不设置,也改变不了 --> <!-- android:configChanges配置configChanges事件 --> <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <!-- 设置允许改变配置信息的权限 --> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/> </manifest>
2 、明文显示密码 Demo :
明文显示: android.text.method.HideReturnsTransformationMethod ;
密文显示: android.text.method.PasswordTransformationMethod ;
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/msg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="请输入密码" /> <EditText android:id="@+id/password" android:layout_width="fill_parent" android:layout_height="wrap_content" android:password="true"/> <CheckBox android:id="@+id/show" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="false" android:text="显示密码"/> </LinearLayout>
Activity:
package com.iflytek.activity; import android.app.Activity; import android.os.Bundle; import android.text.method.HideReturnsTransformationMethod; import android.text.method.PasswordTransformationMethod; import android.view.View; import android.view.View.OnClickListener; import android.widget.CheckBox; import android.widget.EditText; public class EventActivity extends Activity { private EditText password = null; private CheckBox show = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.password = (EditText) super.findViewById(R.id.password); this.show = (CheckBox) super.findViewById(R.id.show); this.show.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { if (EventActivity.this.show.isChecked()) {// 被选中,则显示明文 // 将文本框的内容设置成明文显示 EventActivity.this.password .setTransformationMethod(HideReturnsTransformationMethod .getInstance()); } else { // 将文本框内容设置成密文的方式显示 EventActivity.this.password .setTransformationMethod(PasswordTransformationMethod .getInstance()); } } } }
发表评论
-
This version of ADT requires android SDK
2013-07-25 16:45 1536Windows系统下用Eclipse开发工具开发An ... -
Android学习13-----网络通信(4) WebView组件
2012-11-27 09:18 2451WebView 是一个开发的浏览 ... -
Android学习13-----网络通信(3) 与Web Service进行通讯
2012-11-26 09:40 1856这里我们的WebService使用xFire开发。 ... -
Android学习13-----网络通信(2) 与Socket交换数据
2012-11-23 09:11 3267对于网络开发而言,最常用的交互模式:WebService、We ... -
Android学习13-----网络通信(1) 与WEB服务器交换数据
2012-11-22 09:11 2157与Web服务器交互: 如果手机要想与 web ... -
Android学习11-----多媒体技术(5) 媒体录制
2012-11-16 08:10 1844在Android中通过android.media ... -
Android学习11-----多媒体技术(4) 使用摄像头拍照,多点触控
2012-11-15 08:37 2830一、摄像头拍照 前面说媒体播放 时了解了 ... -
Android学习11-----多媒体技术(3) 媒体播放
2012-11-14 08:25 1378在 Androi ... -
Android学习11-----多媒体技术(2) Animation
2012-11-13 08:47 1955一、渐变动画, Tweened Animation ... -
Android学习11-----多媒体技术(1) 绘制简单图形,Bitmap,Matrix
2012-11-12 08:48 1564一、绘制简单图 ... -
Android学习12-----手机服务(4) 传感器
2012-11-19 09:13 1986传感器一般用于游戏中,在 Android 系统中为 ... -
Android学习12-----手机服务(1) 取得电池电量和声音服务:AudioManager
2012-11-18 11:18 3427一、取得电池电量信息 ... -
Android学习10-----Android组件通信 (8) 桌面显示组件:AppWidget
2012-11-02 08:36 1996一、 AppWidget 在使用 Androi ... -
Android学习10-----Android组件通信 (7) 广播机制:Broadcast
2012-11-01 08:43 1476一、 广播: 广播也是一种信息的发送机制,在 ... -
Android学习10-----Android组件通信 (6) PendingIntent
2012-10-31 08:20 2203Intent 的主要功能是表示用 ... -
Android学习10-----Android组件通信 (5) Service
2012-10-30 08:25 1673Service 基本组成: ... -
Android学习10-----Android组件通信 (4) 消息机制
2012-10-29 08:22 1508在 Android 操作系统中存在着消息队列的操作 ... -
Android学习10-----Android组件通信 (3) ActivityGroup
2012-10-26 08:23 2261导航栏在 Android 中的应用是很常见的,前面 ... -
Android学习10-----Android组件通信 (2) Activity生命周期
2012-10-25 08:16 1245Activity 是整个 Android 平台的基 ... -
Android学习10-----Android组件通信 (1) Intent
2012-10-24 08:43 1922在一个项目之中,会由多个 Activity ...
相关推荐
android view 单击、双击和移动事件处理
Android4.0以上外接鼠标-左键单击-右键单击-捕获事件Demo; 网上没有这样的Demo,例子非常简单,节约下载者查询相关资料的时间。 如果用在ListView里面,只要在自定义的Adapter里面设置该监听事件;并在Activity的...
作为使用androidsdk构建这些应用程序的实用指南书籍,《android高级编程》从始至终穿插了一系列示例项目,每个项目都引入android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍android的所有基本功能,并...
DBClickBlocker 单击事件防止变成双击事件~ avoid fast click event in android
android-billing-services将模块连接到项目1.将子模块添加到项目存储库git submodule add https://github.com/LimeHD/android-billing-services.git2.将模块导入项目文件->新建->导入模块... 指定模块的路径,然后...
用Label处理TextView并实现单击显示更多行
java事件单击事件 实例代码java事件单击事件 实例代码java事件单击事件 实例代码
Android----文件的保存与读取 设置简单的界面,有提交按钮, 在文本编辑框输入内容,单击按钮 将内容保存!
⿏标右键被按下 " " " "------ _⾼级选择夹1_⿏标右键被按下 " " " "------ _按钮_发送_⿏标右键被按下 " " " "------ __启动窗⼝_尺⼨被改变 " " " "------ _卷帘式菜单1_菜单被单击 " " " "------ _卷帘式菜单1_项...
最近2013-11-29(Nov 29, 2013)更新的Android ZXing 2.3.0 release源码及编译后的core-2.3.0.jar和android-integration-2.3.0.jar打包亲测可用,如大家有兴趣自己编译的话请参考下面的教程。 下面我写的教程修改自...
android ImageView单击事件与透明度处理
android中最常用到的组件之一,listview 点击事件,源码,欢迎大家下载学习。有问题请留言。
1.下载android-2.2 source 2.解压放在android.jar所在目录的sources里即可(注意是sources而非source)。 比如我android.jar所在目录为 D:\android-sdk-windows\platforms\android-8,在这个目录下新建文件夹...
4. K2双击 数码管上显示的数减5,加到超过0后,再双击,显示超出的数与9999的和,如当前显示为1,双击后,显示9995 5. K1连击 数码管上的以步长为10的值增加,加到9999或超过,均显示超出的数,同上k1双击处理。 6....
LSettingView 设置界面条目封装,同时包含: 设置左侧图标 设置左侧文字 设置右侧图标 设置右侧图标是否显示 设置右侧为复选框样式 ...3. 添加单击事件处理 LSettingItem mSettingItemOne = (LSettingItem
6 创建自定义列表对话框 笔者为该对话框添加了自定义的布局文件 该自定义布局文件包含一个文本标签和一个文本框 并实现了确定按钮点击监听事件 在文本框输入内容后 获取文本框里的内容 并以toast形式显示出来 ...
1.下载android-2.3.3 source 2.解压放在android.jar所在目录的sources里即可(注意是sources而非source)。 比如我android.jar所在目录为 D:\android-sdk-windows\platforms\android-7,在这个目录下新建文件夹...
按钮单击事件一例,Android环境下,单击按钮后,改变 按钮背景颜色,通过这个功能来练习单击事件的监听器用法: super.onCreate(savedInstanceState); setContentView(R.layout.main);//设置当前屏幕 Button ...
C# winform 单击与双击事件同时存在例子 在wiform中单击与双击事件是不可以同时存在的。
android listview长按,单击各种事件捕捉。写了一个适配器,捕捉各种事件。欢迎下载。