- 浏览: 278500 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zwnJava:
谢谢,总算找到了句有应的话
Android监听程序的安装和卸载 -
liangoogle:
就是只让edittext输入这些字符。
EditText 只输入英文和特殊字符 -
huibin147852369:
应该讲解一下!
EditText 只输入英文和特殊字符 -
goingshow:
楼主,是否发现 自定义selector 出来的chekbox ...
Android 自定义CheckBox 样式 -
shadow88:
这个方法是不错,但是如果是由多个组件组合,只有这个获得了焦点, ...
TextView 跑马灯效果
要显示一个dialog,要实现点击dialog上“不再提示”按钮之后,下次启动程序就不会出现此对话框,怎么实现呢:
1下面是一个例子:
主Activity:
package hao.test.mima;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.KeyEvent;
import hao.test.uitil.YyBackUpPreferences;
public class mima extends Activity {
private Preferences pref = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
pref = Preferences.getInstance(this);
//一定要做判断
if (pref.isShowPwdTip()) {
showDialog(0);
}
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0: {
return new AlertDialog.Builder(mima.this)
.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (event.getKeyCode() == KeyEvent.KEYCODE_SEARCH) {
return true;
}
return false;
}
})
.setTitle("实验:")
.setMessage("这是一个测试")
.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
removeDialog(0);
}
})
.setNegativeButton("不再显示",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
removeDialog(0);
//在这里记录状态
pref.closeShowPwdTip();
}
})
.setNeutralButton("设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
removeDialog(0);
// startSettingActivity();
}
}).create();
}
default: {
return null;
}
}
}
参数class:
package hao.test.uitil;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.preference.PreferenceManager;
public class Preferences {
private static final String KEY_IS_SHOW_PWD_TIP = "KISPT";
private static SharedPreferences sharedPreferences;
private static Context context;
private static Preferences instance;
public static Preferences getInstance(Context c) {
context=c;
if (instance == null) {
instance = new Preferences();
}
return instance;
}
public boolean closeShowPwdTip() {
Editor editor = getEditor();
editor.putBoolean(KEY_IS_SHOW_PWD_TIP, false);
return editor.commit();
}
private Editor getEditor() {
SharedPreferences pref = getSharedPreferences();
return pref.edit();
}
private SharedPreferences getSharedPreferences() {
if (sharedPreferences == null)
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
return sharedPreferences;
}
//判断是否点击了那个“不再显示按钮”,如果按了的话,返回false。
public boolean isShowPwdTip() {
return getSharedPreferences().getBoolean(KEY_IS_SHOW_PWD_TIP, true);
}
}
2下面是在一个文件中的:
package hao.test.mima;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.KeyEvent;
public class mima extends Activity {
private static final String KEY_IS_SHOW_PWD_TIP = "KISPT";
private static SharedPreferences sharedPreferences;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 一定要做判断
if (isShowPwdTip()) {
showDialog(0);
}
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0: {
return new AlertDialog.Builder(mima.this)
.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_SEARCH) {
return true;
}
return false;
}
}).setTitle("实验:").setMessage("这是一个测试")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
removeDialog(0);
}
}).setNegativeButton("不再显示", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
removeDialog(0);
// 在这里记录状态
closeShowPwdTip();
}
}).setNeutralButton("设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
removeDialog(0);
// startSettingActivity();
}
}).create();
}
default: {
return null;
}
}
}
public boolean closeShowPwdTip() {
if (sharedPreferences == null)
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putBoolean(KEY_IS_SHOW_PWD_TIP, false);
return editor.commit();
}
public boolean isShowPwdTip() {
if (sharedPreferences == null)
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
return sharedPreferences.getBoolean(KEY_IS_SHOW_PWD_TIP, true);
}
}
发表评论
-
关于tableactivity 中activitygroup 使用spinner 控件报错
2012-01-14 11:05 1330这个就和显示dialog一样的道理,都要使用父类显示: 解决 ... -
创建Dialog
2011-07-12 09:37 867Android学习笔记--创建Dial ... -
自定义dialog样式 简单填充
2011-07-11 15:13 1547在做项目时要用dialog,dialog不想用alertdia ... -
调用progressbar 的方法:
2011-06-27 13:55 1256使用和取消时调用下面的两个方法 priva ... -
alertdialog——setview 的 自定义view
2011-06-23 17:32 9220我在做一个alertdialog时出错,关于自定义view, ... -
dialog 2(一步建立对话框,全)
2011-06-17 16:56 721new AlertDialog.Builder(YyBa ... -
Android设置横屏显示
2011-06-17 14:09 1371android:screenOrientation=& ... -
android ProgressDialog 延迟几秒再消失
2011-06-16 14:23 5934显示一个ProgressDialog,然后在线程中取消 ... -
如何让不让AlertDialog dismissed by google search
2011-06-13 14:21 1091google search 键可以导致dialog ... -
打开程序在activity上出现一个AlertDialog
2011-06-08 17:18 1438只要把 showDialog(0); 写在oncreat里, ... -
AlertDialog之2 onCreateDialog
2011-06-08 17:11 1853重写: @Override prot ... -
AlertDialog
2011-06-08 16:45 996new AlertDia ... -
menuDialog
2011-05-20 17:29 905menuDialog = new AlertDialog.Bu ...
相关推荐
这篇博客《详解Dialog——基础元素构建》的源码深入探讨了如何创建和自定义Dialog,提供了丰富的实践案例。以下是根据博客内容和源码解析的一些关键知识点: 1. **Dialog基本使用**: Android中的Dialog是基于...
在Android开发中,`Dialog`是一种非常常用的组件,它用于在主界面之上显示一个临时的窗口,用于向用户展示信息或者获取用户的输入。本节我们将深入探讨如何创建和使用列表对话框(List Dialog)。 列表对话框是`...
在Android开发中,Dialog是一种非常常见的用户交互组件,它用于在主界面之上显示一个弹出式窗口,通常用于展示警告信息、确认操作或者提供一种选择方式。本篇将重点讲解如何创建并使用单选列表对话框(Single Choice...
在Android开发中,`Dialog`是一种非常常见的组件,它用于在主界面之上显示一个弹出式窗口,可以用来展示信息、获取用户输入或者执行特定操作。本教程将深入讲解如何创建一个多选列表对话框(MutiChoice Dialog),让...
public void onProgressChanged(ProgressDialog dialog, int progress, boolean fromUser) { // 在这里处理进度变化 } }); ``` 五、自定义ProgressDialog 尽管ProgressDialog提供了基本的样式,但有时我们可能...
在Android开发中,Dialog是一种非常常见的用户界面组件,它用于显示临时信息或向用户征求一些简单输入。在标题“android dialog —— 日期和时间选择对话框.zip”中提到的,我们将探讨如何在Android应用中创建和使用...
在Android开发中,Dialog是一种非常常见的用户交互组件,它用于在主界面之上显示临时的、半透明的窗口,用于向用户展示重要的信息或者获取用户的输入。在这个专题中,我们将深入探讨如何在Android应用中创建和使用...
在这种情况下,使用自定义数据源的单选列表对话框(Dialog)是一种理想的选择。本文将详细介绍如何在Android中实现这样一个功能。 首先,我们来理解“单选对话框”是什么。单选对话框,通常以列表形式呈现,用户...
本资源“安卓Android源码——(Dialog对话框).zip”可能包含了关于如何创建、自定义和使用Dialog对话框的详细示例代码。通过分析这些源码,我们可以深入理解Dialog的工作原理,并提升在实际应用中的开发能力。 首先...
本压缩包“安卓Android源码——DialogShow.zip”很可能包含了一个示例项目,用于演示如何在Android应用中创建和显示自定义的Dialog。以下是对相关知识点的详细说明: 1. **Dialog基础知识**: - Dialog是Android中...
在安卓(Android)开发中,Dialog对话框是用户界面(UI)设计中不可或缺的一部分,它用于向用户显示临时信息或需要用户做出决策的情况。在Android源码中,Dialog类及其子类提供了丰富的功能来实现各种对话框样式。...
这份"安卓Android源码——所有Dialog对话框.rar"压缩包很可能包含了各种类型的Dialog实现,这对于我们理解Android系统中Dialog的工作原理以及自定义Dialog的实现方法非常有帮助。 首先,我们要知道Dialog是基于...
本资源"安卓Android源码——安卓Android实现Windows风格的Dialog.rar"提供了一种实现方式,帮助开发者在安卓系统上构建出与Windows系统类似风格的对话框。 首先,了解Dialog在Android中的基本使用。在Android SDK中...
Dialog继承自Window,这意味着它拥有自己的视图层次结构,并可以独立于应用程序的主线程进行显示和管理。 在创建Dialog时,通常会调用Dialog(Context context)构造函数,传入一个上下文对象。这个上下文用于确定...
在Android开发中,Dialog是一种常见的用户交互元素,用于在用户界面中显示临时信息或进行简单的交互操作。然而,系统默认的Dialog通常会带有边框,这可能不符合某些设计师的审美或者应用的整体风格需求。本资源...
在Android开发中,Dialog是一种常见的用户交互元素,用于在用户界面中显示临时信息或进行简单的交互操作。通常,当我们使用AlertDialog构建一个对话框时,它的默认行为是在用户点击按钮(如"确定"或"取消")后自动...
在UI线程中调用`show()`方法来显示Dialog,确保不违反Android的UI更新规则——所有的UI操作必须在主线程中进行。然而,如果Dialog的创建过程耗时较长,可能会影响用户体验,这时就需要使用子线程来处理,然后通过...
这个压缩包"安卓Andriod源码——实现Windows风格的Dialog.zip"提供了如何在Android应用中创建这种特殊Dialog的方法。在这里,我们将深入探讨相关知识点。 1. 自定义Dialog:Android系统提供了多种内置的Dialog样式...
这个压缩包"安卓Android源码——HerilyAlertDialog完全自定义的Dialog.rar"包含了一个名为`HerilyAlertDialog`的自定义对话框实现,可以帮助开发者更好地理解和实现自定义Dialog功能。 `HerilyAlertDialog`可能是一...