- 浏览: 5855088 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
下面的menu没有意义,仅仅是个练习而已,看图先:
布局:
view:

布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/textViewName" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/name" android:textSize="20dp" /> <EditText android:id="@+id/editTextName" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/textViewAge" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/age" android:textSize="20dp" /> <EditText android:id="@+id/editTextAge" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
view:
package com.dc.app; import java.util.Calendar; import android.app.Activity; import android.app.AlertDialog; import android.app.DatePickerDialog; import android.app.Dialog; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.ProgressDialog; import android.app.TimePickerDialog; import android.content.DialogInterface; import android.graphics.Color; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.DatePicker; import android.widget.EditText; import android.widget.TextView; import android.widget.TimePicker; import android.widget.Toast; public class AppActivity extends Activity { private static final String TAG="AppActivity"; private TextView textViewName,textViewAge; private EditText editTextName,editTextAge; private final int menuIdRegiste=1; private final int menuIdBack=2; private final int menuIdLogin=3; private final int menuIdDate=4; private final int menuIdTime=5; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.v(TAG,"start"); textViewName=(TextView)this.findViewById(R.id.textViewName); textViewName.setTextColor(Color.BLUE); textViewName.setBackgroundColor(Color.WHITE); editTextName=(EditText)this.findViewById(R.id.editTextName); textViewAge=(TextView)this.findViewById(R.id.textViewAge); textViewAge.setTextColor(Color.BLUE); textViewAge.setBackgroundColor(Color.WHITE); editTextAge=(EditText)this.findViewById(R.id.editTextAge); } public boolean onCreateOptionsMenu(Menu menu) {//初始化Menu菜单选择项 super.onCreateOptionsMenu(menu); //添加菜单项,比如: menu.add(0, menuIdRegiste, 0, R.string.registe).setShortcut('1', 'r');//设置快捷键 menu.add(0, menuIdBack, 0, R.string.back).setShortcut('2', 'b');//设置快捷键 menu.add(0, menuIdLogin, 0, R.string.login).setShortcut('3', 'l');//设置快捷键 menu.add(0, menuIdDate, 0, R.string.date).setShortcut('4', 'd');//设置快捷键 menu.add(0, menuIdTime, 0, R.string.time).setShortcut('5', 't');//设置快捷键 //添加其他菜单项。。。。。。 return true; } public boolean onPrepareOptionsMenu(Menu menu) {// super.onPrepareOptionsMenu(menu); //这里可以事先设置菜单的可见性,如果都可见,可以不设置 menu.findItem(menuIdRegiste).setVisible(true).setIcon(android.R.drawable.ic_menu_add);//设置菜单项可见性 menu.findItem(menuIdBack).setVisible(true).setIcon(android.R.drawable.ic_menu_save);//设置菜单项可见性 menu.findItem(menuIdLogin).setVisible(true).setIcon(android.R.drawable.ic_menu_camera);//设置菜单项可见性 menu.findItem(menuIdDate).setVisible(true).setIcon(android.R.drawable.ic_menu_compass);//设置菜单项可见性 menu.findItem(menuIdTime).setVisible(true).setIcon(R.drawable.icon);//设置菜单项可见性 return true; } public boolean onOptionsItemSelected(MenuItem item) {//选择了一个菜单项的时候调用 //这里可以预先处理想要的变量 switch (item.getItemId()) { case menuIdRegiste://一项一项的处理想要做的,不用我介绍了吧 Toast.makeText(this, R.string.menuIdRegisteContent, Toast.LENGTH_LONG).show(); showDialog(DIALOG_KEY); return true; case menuIdBack: Toast.makeText(this, R.string.menuIdBackContent, Toast.LENGTH_LONG).show(); showNotify(); return true; case menuIdLogin: showDialog(DIALOG_LOGIN); return true; case menuIdDate: showDialog(DIALOG_DATE); return true; case menuIdTime: showDialog(DIALOG_TIME); return true; } return super.onOptionsItemSelected(item); } private static final int DIALOG_KEY = 0; private static final int DIALOG_LOGIN = 3; private static final int DIALOG_DATE = 4; private static final int DIALOG_TIME = 5; @Override protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_KEY: ProgressDialog progressDialog = new ProgressDialog(this); progressDialog.setTitle("通讯录"); progressDialog.setMessage("获取通讯录中...请稍候"); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.setIndeterminate(true);//不明确 progressDialog.setCancelable(true);//是否可以按退回按键取消 progressDialog.setButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.cancel(); // removeDialog(DIALOG_KEY); } }); progressDialog.setCanceledOnTouchOutside(true); return progressDialog; case DIALOG_LOGIN: View dialogview=LayoutInflater.from(this).inflate(R.layout.main, null); Dialog loginDialog=new AlertDialog.Builder(this) .setTitle("登录") .setView(dialogview)//this.findViewById(R.layout.main),不可以,why? .setCancelable(true) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.cancel(); } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.cancel(); } }) .create(); loginDialog.setCanceledOnTouchOutside(true); return loginDialog; case DIALOG_DATE: Calendar c = Calendar.getInstance(); DatePickerDialog dateDialog=new DatePickerDialog(this,new DatePickerDialog.OnDateSetListener(){ @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub showDialog(DIALOG_KEY); } },c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DATE)); return dateDialog; case DIALOG_TIME: Calendar c2 = Calendar.getInstance(); TimePickerDialog timeDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { showDialog(DIALOG_KEY); } }, c2.get(Calendar.HOUR), c2.get(Calendar.MINUTE), true); return timeDialog; } return null; } private void showNotify(){ Notification notice=new Notification(); notice.icon=R.drawable.icon; notice.tickerText="您有一条新的信息"; notice.defaults=Notification.DEFAULT_SOUND; notice.when=10L; // 100 毫秒延迟后,震动 250 毫秒,暂停 100 毫秒后,再震动 500 毫秒 // notice.vibrate = new long[] { 100, 250, 100, 500 }; notice.setLatestEventInfo(this, "通知", "开会啦", PendingIntent.getActivity(this, 0, null, 0)); NotificationManager manager=(NotificationManager)getSystemService(this.NOTIFICATION_SERVICE); manager.notify(0,notice); } }
发表评论
-
http://www.android-studio.org/
2018-08-06 09:25 0http://www.android-studio.org/ ... -
SlidingDrawer源码
2012-03-14 10:13 3837我把SlidingDrawer源码提了出来,希望对1.5的朋友 ... -
简单拖动效果(带Cache,需要完善)
2011-10-13 15:10 4257如何去实现一个具有幻象的拖拽效果? 所谓”幻象“就是当你按下去 ... -
Android Activity中启动另一应用程序的方法,无需得到类名
2011-08-02 14:46 17312在网上搜索了一会相关的实现代码,发现所有的文章都说是需要包名和 ... -
java-universal-tween-engine,一个动画系统库
2011-06-29 09:21 6771http://code.google.com/p/java-u ... -
网上发现的一个android UI包
2011-05-24 12:21 4176里面有些UI和效果 -
android中使用代码启动其他程序
2011-04-29 23:15 5358你要訪問其他的程序,那麼這個程序要先裝載到模擬器或真機上面,因 ... -
listView背景问题以及限制editText字数以及如果想通知别人已经不能在写
2011-04-29 22:44 32441.在listView设置好背景之后 你如果点击空白出 你会发 ... -
Android键盘和触摸事件处理
2011-04-29 22:32 7037activity和VIEW都能接收触摸和按键,如果响应事件只需 ... -
Android的绘制文本对象FontMetrics的介绍及绘制文本
2011-04-29 22:29 11529一。Android绘制文本对象FontMetrics介绍 ... -
Android View 拖动&插入
2011-04-29 22:20 3578View 拖动&插入 即: 支持 拖动图标 然后 ... -
使TextView文本可以水平和垂直滚动
2011-04-29 21:59 14471在做一个小的电子书程序,要求电子书具有放大缩小的功能,所以肯定 ... -
ArrayAdapter源码
2011-04-29 12:29 6341看看人家怎么写的。 /* * Copyright (C ... -
Android下获取开机时间
2011-04-02 21:51 6262找了一圈没发现能得到开机启动时间资料,于是乎突发奇想,得到了解 ... -
AutoCompleteTextView连接到数据库
2011-03-30 20:49 4768AutoCompleteTextView可以根据输入 ... -
改变屏幕Brightness(亮度)
2011-03-30 12:48 4623http://www.eoeandroid.com/forum ... -
android 拖拽图片&拖动浮动按钮到处跑
2011-02-24 20:55 31834来自老外: import android.app.Acti ... -
拖动一个控件在另一个控件(layout)上,并固定位置在几个位置显示
2011-02-24 20:51 5924实现效果: 鼠标拖动btn SSS,SSS在水平的layo ... -
Handler与Message类,实现n秒后无操作自动消失功能
2011-02-24 20:45 4689实现功能:某控件不操作10秒后,自动消失。如照相机变焦条出现后 ... -
带删除按钮的ListView
2011-02-24 10:33 6179不用说了,上图先: import java.util.A ...
相关推荐
菜单有三种形式:选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和弹出式菜单(PopupMenu)。开发者可以通过重写`onCreateOptionsMenu()`、`onPrepareOptionsMenu()`以及`onOptionsItemSelected()`方法来创建...
- 通常用于消息推送的组件是Service,而不是Notification、Menu或Dialog。 6. **ListView**: - ListView遵循MVC模式,其中ListView是View,数据源是Model,Adapter是两者间的桥梁。 - ListView不支持直接使用...
8.10.1 options menu 8.10.2 context menu 8.10.3 sub menu 8.11 Notification(通知) 8.11.1 一般的Notification 8.11.2 带进度的Notification 8.12 Toast(提示) 8.13 本章小结 第9章 风格与动画 9.1 主题与风格...
jQuery UI的Notification插件或自定义的弹出框可以实现通知功能,而OptionsMenu或Dropdown Menu则适合创建设置菜单。通过精心设计的交互逻辑,这些功能可以提供与真实桌面系统类似的体验。 在实现过程中,需要注意...
TRxFolderMonitor component provides notification if any changes matching the filter conditions occur in the specified directory or subtree. TRxTrayIcon component enables 32-bit applications to add ...
Dialog Boxes String Tables Accelerator Tables Menus Icons, Bitmaps and Cursors Version Resources Custom Resources The Visual C++ Compiler Compiling on the Command Line The Foundation Classes ...
1 , vb5dialog.zip This demonstrates how to subclass the Common Dialog Dialogs and manipulate a specific Dialog.<END><br>2 , cpnl.zip Form_Taskbar is a control for Visual Basic which, once placed...