四、监听日期与时间的改变

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. */@Overridepublic 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 {@Overridepublic void onTimeChanged(TimePicker view, int hourOfDay, int minute) {EventActivity.this.setDateTime();}}private class OnDateChangedListenerImpl implements OnDateChangedListener {@Overridepublic 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" ><EditTextandroid:id="@+id/edit"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="请输入查询内容"/><EditTextandroid: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. */@Overridepublic 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 {@Overridepublic void onClick(View v) {EventActivity.this.edit.setText("");// 清空文本}}private class OnFocusChangeListenerImpl implements OnFocusChangeListener {@Overridepublic 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="长按图片将设置为桌面背景" /><ImageViewandroid: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. */@Overridepublic 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 {@Overridepublic 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;}}}

更多相关文章

  1. Android 5.0 Material 自定义Dialog 背景 字体大小颜色 ui组件颜
  2. 使用Android自带Gallery组件实现CoverFlow,源码+解析
  3. Android更改桌面应用程序launcher的两种方式
  4. Android架构组件简介
  5. 很赞的Android架构组件 Android Architecture Components
  6. android桌面画面循环滑动

随机推荐

  1. Android 多渠道打包
  2. Android PullToRefreshView巴黎埃菲尔铁
  3. Android创建逐帧动画的方式
  4. 2013.12.04 (3)——— android SlidingMenu
  5. android,编译过程遇到的错误
  6. Android Message里传送的数据
  7. Android实现开机自启动Service
  8. android:启动界面设计
  9. Android 最简单的SD卡文件遍历程序
  10. android JNI java与C++传递String数组(引