- 浏览: 677177 次
- 性别:
- 来自: 安徽
文章分类
- 全部博客 (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禁用浏览器退格键
四、监听日期与时间的改变
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" > <EditText android:id="@+id/input" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <DatePicker android:id="@+id/date" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TimePicker android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> </LinearLayout>
Activity:
package com.iflytek.activity; import android.app.Activity; import android.os.Bundle; import android.widget.DatePicker; import android.widget.DatePicker.OnDateChangedListener; import android.widget.EditText; import android.widget.TimePicker; import android.widget.TimePicker.OnTimeChangedListener; public class EventActivity extends Activity { private EditText input = null; private DatePicker date = null; private TimePicker time = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); input = (EditText) super.findViewById(R.id.input); date = (DatePicker) super.findViewById(R.id.date); time = (TimePicker) super.findViewById(R.id.time); // 设置24小时制显示时间 this.time.setIs24HourView(true); // 时间监听 this.time.setOnTimeChangedListener(new OnTimeChangedListenerImpl()); // 日期监听器,注意这里的日期监听方式和以前有所区别 this.date.init(this.date.getYear(), this.date.getMonth(), this.date.getDayOfMonth(), new OnDateChangedListenerImpl()); this.setDateTime(); } private class OnTimeChangedListenerImpl implements OnTimeChangedListener { @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { EventActivity.this.setDateTime(); } } private class OnDateChangedListenerImpl implements OnDateChangedListener { @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { EventActivity.this.setDateTime(); } } public void setDateTime() { //注意这里的月份是从0开始的 this.input.setText(this.date.getYear() + "-" + (this.date.getMonth()+1) + "-" + this.date.getDayOfMonth() + " " + this.time.getCurrentHour() + ":" + this.time.getCurrentMinute()); } }
五、焦点事件
验证输入 Demo
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" > <EditText android:id="@+id/edit" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="请输入查询内容"/> <EditText android:id="@+id/msg" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="xdwang"/> <TextView android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
Activity:
package com.iflytek.activity; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnFocusChangeListener; import android.widget.EditText; import android.widget.TextView; public class EventActivity extends Activity { private EditText edit = null; private TextView txt = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.edit = (EditText) super.findViewById(R.id.edit); this.txt = (TextView) super.findViewById(R.id.txt); this.edit.setOnClickListener(new OnClickListenerImpl()); this.edit.setOnFocusChangeListener(new OnFocusChangeListenerImpl()); } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { EventActivity.this.edit.setText("");// 清空文本 } } private class OnFocusChangeListenerImpl implements OnFocusChangeListener { @Override public void onFocusChange(View view, boolean hasFocus) { // view表示操作的组件,hasFocus表示是否获得焦点 if (hasFocus) {// 已经获得了焦点 EventActivity.this.txt.setText("获得了焦点"); } else { if (EventActivity.this.edit.getText().length() > 0) {// 现在有数据 EventActivity.this.txt.setText("文本输入组件失去焦点,输入内容合法"); } else { EventActivity.this.txt.setText("文本输入组件失去焦点,输入内容不能为空!"); } } } } }
六、长按事件
设置桌面 Demo
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/info" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="长按图片将设置为桌面背景" /> <ImageView android:id="@+id/img" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/james_java"/> </LinearLayout>
AndroidManifest.xml加上:
<!-- 允许设置桌面 --> <uses-permission android:name="android.permission.SET_WALLPAPER" />
Activity:
package com.iflytek.activity; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnLongClickListener; import android.widget.ImageView; import android.widget.TextView; public class EventActivity extends Activity { private TextView info = null; private ImageView img = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.img = (ImageView) super.findViewById(R.id.img); this.info = (TextView) super.findViewById(R.id.info); this.img.setOnLongClickListener(new OnLongClickListenerImpl()); } private class OnLongClickListenerImpl implements OnLongClickListener { @Override public boolean onLongClick(View v) { try { EventActivity.this.clearWallpaper();// 清除已有的桌面 EventActivity.this.setWallpaper(EventActivity.this.img .getResources().openRawResource(R.drawable.james_java));// 设置桌面 EventActivity.this.info.setText("桌面背景已修改."); } catch (Exception e) { e.printStackTrace() ; EventActivity.this.info.setText("桌面背景修改失败!"); } return false; } } }
发表评论
-
This version of ADT requires android SDK
2013-07-25 16:45 1604Windows系统下用Eclipse开发工具开发An ... -
Android学习13-----网络通信(4) WebView组件
2012-11-27 09:18 2523WebView 是一个开发的浏览 ... -
Android学习13-----网络通信(3) 与Web Service进行通讯
2012-11-26 09:40 1901这里我们的WebService使用xFire开发。 ... -
Android学习13-----网络通信(2) 与Socket交换数据
2012-11-23 09:11 3313对于网络开发而言,最常用的交互模式:WebService、We ... -
Android学习13-----网络通信(1) 与WEB服务器交换数据
2012-11-22 09:11 2199与Web服务器交互: 如果手机要想与 web ... -
Android学习11-----多媒体技术(5) 媒体录制
2012-11-16 08:10 1899在Android中通过android.media ... -
Android学习11-----多媒体技术(4) 使用摄像头拍照,多点触控
2012-11-15 08:37 2897一、摄像头拍照 前面说媒体播放 时了解了 ... -
Android学习11-----多媒体技术(3) 媒体播放
2012-11-14 08:25 1423在 Androi ... -
Android学习11-----多媒体技术(2) Animation
2012-11-13 08:47 2003一、渐变动画, Tweened Animation ... -
Android学习11-----多媒体技术(1) 绘制简单图形,Bitmap,Matrix
2012-11-12 08:48 1632一、绘制简单图 ... -
Android学习12-----手机服务(4) 传感器
2012-11-19 09:13 2026传感器一般用于游戏中,在 Android 系统中为 ... -
Android学习12-----手机服务(1) 取得电池电量和声音服务:AudioManager
2012-11-18 11:18 3517一、取得电池电量信息 ... -
Android学习10-----Android组件通信 (8) 桌面显示组件:AppWidget
2012-11-02 08:36 2044一、 AppWidget 在使用 Androi ... -
Android学习10-----Android组件通信 (7) 广播机制:Broadcast
2012-11-01 08:43 1523一、 广播: 广播也是一种信息的发送机制,在 ... -
Android学习10-----Android组件通信 (6) PendingIntent
2012-10-31 08:20 2276Intent 的主要功能是表示用 ... -
Android学习10-----Android组件通信 (5) Service
2012-10-30 08:25 1748Service 基本组成: ... -
Android学习10-----Android组件通信 (4) 消息机制
2012-10-29 08:22 1560在 Android 操作系统中存在着消息队列的操作 ... -
Android学习10-----Android组件通信 (3) ActivityGroup
2012-10-26 08:23 2341导航栏在 Android 中的应用是很常见的,前面 ... -
Android学习10-----Android组件通信 (2) Activity生命周期
2012-10-25 08:16 1293Activity 是整个 Android 平台的基 ... -
Android学习10-----Android组件通信 (1) Intent
2012-10-24 08:43 2029在一个项目之中,会由多个 Activity ...
相关推荐
// 长按事件处理逻辑 } }; @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: downTime = System.currentTimeMillis(); ...
首先,我们需要了解Android的基础事件处理机制。Android中的触摸事件主要通过`MotionEvent`类来传递,其中包括了`ACTION_DOWN`(手指按下)、`ACTION_UP`(手指抬起)、`ACTION_MOVE`(手指移动)等一系列动作。长按...
首先,我们要理解Android事件处理的基本原理。在Android中,事件处理主要通过事件监听器(Event Listeners)来实现,包括点击事件、触摸事件等。对于长按事件,我们通常使用`View.OnLongClickListener`接口。当用户...
在Android开发中,"android_长按震动demo"是一个典型的示例,它涵盖了两个关键知识点:长按事件的监听和手机震动功能的实现。这两个功能在许多应用中都非常常见,例如游戏、通知提示等。 首先,让我们深入了解一下...
3. 使用`return true`或`return false`控制事件的传递,防止其他监听器重复处理同一事件。 综上所述,通过`OnTouchListener`,我们可以灵活地实现对控件的单击、双击和长按事件的监听,从而提供更加丰富的用户交互...
1. 添加一个`OnLongClickListener`监听器,处理长按事件。在`CustomTextView`类中,我们可以这样实现: ```java private OnLongClickListener longClickListener = new OnLongClickListener() { @Override public...
4. **View.OnLongClickListener**:此监听器用于处理长按事件。当用户对Button进行长按时,会触发onLongClick()方法。如果你需要在按钮被长按时执行某些操作,可以这样设置: ```java myButton....
3. onKeyLongPress(int keyCode, KeyEvent event): 当用户长按时调用该方法,与onKeyDown不同的是,它处理的是长按事件。 在实现长按事件监听时,通常需要在onKeyDown中做一些判断和处理。例如,如果我们要监听音量...
在`ExpandableListViewDemo`项目中,开发者通常会创建一个自定义的`ExpandableListAdapter`,在这个适配器中实现上述的点击和长按事件处理逻辑。同时,还需要在主活动中设置`ExpandableListView`并绑定适配器。 ...
在Android开发中,监听按键长按事件是一种常见的需求,它可以让用户通过长时间按下某个按钮来触发特定的功能。本文将深入探讨一种实现按键长按监听的方法,并结合提供的`LongPressTest`示例进行详细讲解。 首先,...
这个"Android例子源码自带日历改进版有长按监听"是一个很好的学习资源,可以帮助开发者深入理解如何自定义日历视图并实现交互功能。下面我们将详细探讨这个例子中的关键知识点。 首先,这个例子的核心是自定义一个...
// 长按事件处理 for (LinkSpan span : getLinks()) { if (isTouchInSpan(e.getX(), e.getY(), span)) { // 在这里执行你的长按动作,比如弹出菜单、复制链接等 break; } } } @Override public boolean ...
4. **事件监听**:为了实时处理串口数据,`android-serialport-api`提供了事件监听机制。开发者可以注册`SerialPortEventListener`,监听数据到达、端口状态改变等事件,这样可以实现异步通信。 5. **错误处理**:...
// 如果按下和抬起位置相同,且时间间隔满足长按条件,则处理长按事件 if (/* 检查长按条件 */) { int longPressedPosition = holder.getAdapterPosition(); // 执行长按操作 } else { // 如果不满足长按条件...
Android长按圆型有颜色变化显示进度,长按结束事件:长按按钮是一个圆,加入了OnTouchListener事件的监听。长按后该圆会慢慢的变颜色,等到整个圆的颜色变化完成后,则触发另一事件。适用于长按结束事件,增加用户...
在移动设备上,为了实现与用户的交互,Vue.js 提供了一套基于原生 JavaScript `touch` 事件的自定义事件处理机制。Vue 的 touch 事件处理使得开发者可以在移动端项目中轻松实现点击、滑动和长按等操作。下面我们将...
本教程将详细介绍如何为Android应用程序创建一个自定义按钮,实现长按事件处理的功能。长按操作在许多场景下都十分实用,比如菜单的呼出、选择操作等。 首先,我们需要创建一个新的XML布局文件来定义自定义按钮。在...
// 返回true表示已经处理了长按事件,防止其他事件冲突 } }); ``` 3. 事件分发: 在ListView中,由于子View(比如ImageView或TextView)可能会有自己的点击事件,因此需要注意事件的分发。默认情况下,如果子...
在uni-app框架中,开发移动应用时经常...同时,利用mui的事件处理能力,可以确保这一功能在多个平台上的兼容性和一致性。请注意,这只是一个基础示例,实际项目中可能需要根据具体需求进行更复杂的功能扩展和错误处理。
在Android应用开发中,我们经常需要为用户提供交互式的体验,比如通过长按操作触发特定功能或展示...记得深入研究`RiccardoMoro-LongPressPopup-3fba8a8`的源码,这将有助于你掌握更多关于Android UI和事件处理的知识。