- 浏览: 272355 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
tonytony3:
THANK YOU
Android多级树形菜单的实现 -
haiyang08101:
deleteNumber = "421f481e-7 ...
java对xml文件做增删改查 -
求求你帮帮我:
怎么把我的空格也当成节点处理了?
java对xml文件做增删改查 -
求求你帮帮我:
deleteNumber = "421f481e-7 ...
java对xml文件做增删改查 -
lpj13579:
多谢分享,学习学习
高仿小米盒子UI效果实现
private void ShowAppleDialog() {
AlertDialog.Builder db = new AlertDialog.Builder(this);
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.apple_dialog, null);
db.setView(view);
db.setIcon(R.drawable.bg_settings_min);
db.setTitle(getString(R.string.device_settings));
dialogDeviceName = (EditText)view.findViewById(R.id.dialog_device_name);
dialogPassword = (EditText)view.findViewById(R.id.dialog_device_pas);
showPassword = (CheckBox)view.findViewById(R.id.showPassword);
StatusOn = (RadioButton)view.findViewById(R.id.status_on);
StatusOff = (RadioButton)view.findViewById(R.id.status_off);
StatusOn.setOnClickListener(this);
StatusOff.setOnClickListener(this);
SharedPreferences pres = getSharedPreferences(APPLE_DEVICE,Context.MODE_WORLD_READABLE);
if(pres != null){
mDeviceName = pres.getString("DEVICE_NAME", Build.MODEL);
mPassword = pres.getString("PASSWORD", "");
dialogDeviceName.setText(mDeviceName);
dialogPassword.setText(mPassword);
mDeviceStatus = pres.getBoolean("DEVICE_STATUS", true);
if(mDeviceStatus){
StatusOn.setChecked(true);
}else{
StatusOff.setChecked(true);
}
}
showPassword.setChecked(false);
showPassword.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
if (showPassword.isChecked())
dialogPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
else
dialogPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
});
db.setPositiveButton(getString(R.string.app_save), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int which) {
String mName = dialogDeviceName.getText().toString();
if(mName.length() == 0){
Toast.makeText(mContext, getString(R.string.device_name_null),Toast.LENGTH_LONG).show();
//用于不关闭对话框
try{
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, false);
} catch (Exception e) {
e.printStackTrace();
}
}else{
SharedPreferences pres = getSharedPreferences(APPLE_DEVICE,Context.MODE_WORLD_READABLE);
if(pres != null){
final Editor ed = pres.edit();
ed.putString("DEVICE_NAME",dialogDeviceName.getText().toString());
ed.putString("PASSWORD",dialogPassword.getText().toString());
ed.putBoolean("DEVICE_STATUS", isDeviceStatus);
ed.commit();
Log.d(TAG, "Success save device info ...");
mDeviceName = pres.getString("DEVICE_NAME", Build.MODEL);
mPassword = pres.getString("PASSWORD", "");
mDeviceStatus = pres.getBoolean("DEVICE_STATUS", true);
deviceName.setText(mDeviceName);
if (mDeviceStatus){
deviceStatus.setText(getString(R.string.device_on));
}else{
deviceStatus.setText(getString(R.string.device_off));
}
// Intent intent1 = new Intent();
// intent1.setAction("dapple.intent.action.SETTING_FINISH");
// intent1.putExtra("player_name", mDeviceName);
// intent1.putExtra("player_password", mPassword);
// intent1.putExtra("service", "on");
// sendBroadcast(intent1);
}else{
Log.d(TAG, "device info Failure...");
}
//用于关闭对话框
try {
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
db.setNegativeButton(getString(R.string.app_cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//用于关闭对话框
try {
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
AlertDialog d = db.create();
d.setInverseBackgroundForced(true);
d.show();
}
发表评论
-
Android 三大图片加载框架比较
2016-11-30 10:31 10881.哪三大图片加载框架? 1) Pi ... -
仿微信小视屏拍摄的进度条/自定义的progressBar的样式。
2016-08-20 00:25 1025今天有个需求,就是需要倒计时的进度条,样式参考微信小视屏拍摄 ... -
android 闹钟定时任务 AlarmManager
2016-06-02 13:41 1827直接上代码 package com.exampl ... -
android应用实现重启系统
2016-06-02 13:33 35231.在AndroidManifest.xml文件的manif ... -
android 每天定时提醒功能实现
2016-06-01 22:42 0android要实现定时的功 ... -
Java Calendar 类的时间操作
2016-06-01 21:02 668ava Calendar 类时间操作,这也许是创建日历和管理 ... -
android中fragment和activity之间相互通信
2014-11-13 16:25 1440在用到fragment的时候,老是会遇到一个问题,就是fra ... -
墨迹天气上下滑动viewpager
2014-11-04 17:15 756墨迹天气上下滑动viewpager -
Android杂谈--打开文件的Intent及使用
2014-10-25 13:03 646在写文件管理系统时会用到各种打开不同格式的文件的需求,由于A ... -
获取Android签名证书的sha1值
2014-08-23 23:14 664前言:今天开始研 ... -
java中Keytool的使用总结
2014-08-23 22:40 562J2SDK提供了keytool命令行工具,可以根据指定的参数 ... -
android获取versionName和versionCode
2014-07-08 18:02 739<TextView android:textSize= ... -
Android如何防止apk程序被反编译
2014-07-08 17:22 708作为Android应用开发者,不得不面对一个尴尬的局面,就是 ... -
在GridView中实现单选或多选功能
2014-06-26 13:08 838由于项目需要,要用到GridView实现多选功能,在网上搜 ... -
Android中Tween动画和Frame动画实例
2014-06-26 10:46 727Animation主要有两种动画模式:Tween动画和Fra ... -
android 禁用和开启四大组件的方法(setComponentEnabledSetting )
2014-06-19 15:26 0为什么要关闭组件? 在用到组件时,有时候我们可能暂时性的不使 ... -
android MD5校验码的生成与算法实现
2014-06-17 10:58 887在Java中,java.security.Mes ... -
android 自动检测版本升级
2014-06-15 14:10 386这里我用别的app代替了,简单省事,正常的话,你要对你的 ... -
layout左右平滑控制.
2014-04-30 09:41 615<?xml version="1.0&quo ... -
android让你的TabHost滑动起来
2014-04-22 22:13 819在Android应用中,一般TabActivity和若干个T ...
相关推荐
总结起来,要在Android中实现`AlertDialog`点击按钮后不关闭对话框的功能,关键在于延迟设置Positive按钮的点击事件,并在事件处理中控制对话框的关闭。通过这种方式,可以实现更复杂的交互逻辑,如用户输入验证,而...
本篇文章将详细介绍如何实现在`AlertDialog`中点击按钮但不使其消失的效果。 首先,我们需要理解`AlertDialog`的基本构建过程。通常,我们创建`AlertDialog`会使用`AlertDialog.Builder`,设置标题、内容视图、按钮...
在Android开发中,有时我们需要创建一个对话框(AlertDialog)来显示一些重要信息或进行用户交互,但不希望用户通过点击对话框外部或者按下设备的返回键来轻易地关闭它。在这种情况下,我们可以调整AlertDialog的...
4. **动画效果**:虽然这不是必需的,但为了增强用户体验,可以添加一些进入和退出动画,使`AlertDialog`的展示和消失更加平滑。 5. **自定义主题**:如果你的应用支持Android 5.0(Lollipop)及以上版本,可以使用...
Android 自定义实现一个AlertDialog对话框,提示框或警告框弹出式对话框,套用了系统Holo风格,生成符合系统主题的AlertDialog.Builder,可以分别定义弹出提示的标题文字及提示内容: builder.setTitle("Test ...
// 取消按钮点击不执行任何操作 return builder.create(); } } ``` 2. 在需要显示对话框的地方,通过FragmentManager来添加DialogFragment。例如,你可以在某个按钮的点击事件中调用以下代码: ```java ...
2. **AlertDialog的生命周期**:理解AlertDialog如何创建、显示、消失以及它们与Activity或Fragment的生命周期的关系。 3. **资源管理**:如何加载字符串资源、颜色资源等,以应用到AlertDialog的各个部分。 4. **...
然而,Android原生的`AlertDialog`样式与iOS的风格有所不同,后者通常更加精致和统一。因此,开发者可能会寻求自定义`AlertDialog`来模仿iPhone的外观。 要实现iPhone样式的`AlertDialog`,我们需要进行以下几个...
"安卓Android源码——安卓Android中实现Iphone样式的AlertDialog.rar"这个压缩包文件提供了一个示例,教你如何在Android应用中模仿iPhone样式的AlertDialog,使得用户界面更加接近iOS的体验。 在Android开发中,...
对于`AlertDialog`上的按钮点击,通常需要设置监听器。`setPositiveButton()`和`setNegativeButton()`方法的第二个参数就是用于设置监听器的,可以是`OnClickListener`或者匿名内部类。 6. **生命周期** `...
在这个例子中,当出现错误提示对话框时,`setCancelable(false)`确保用户只能通过点击“确认”按钮来关闭对话框,而不会因为误触边缘或按返回键导致对话框消失。 总结来说,要解决Android AlertDialog在触摸边缘时...
对于可能出现的问题,如按钮点击事件不正确或布局显示异常,需要进行调试和修复。 通过以上步骤,开发者可以创建一个看起来和感觉上都与iOS风格类似的Android AlertDialog。这样的定制不仅可以提高应用的用户体验,...
在Android开发中,为了提供与iOS应用相似的用户体验,开发者有时会希望在Android应用中实现类似iPhone样式的对话框(AlertDialog)。本资源“Android应用源码之Android中实现Iphone样式的AlertDialog.rar”提供了一...
标题中的"Toast", "Menu", "Activity", "ListView", 和 "AlertDialog" 是Android开发中五个重要的组件或概念,下面将详细解释它们。 1. **Toast**:在Android中,Toast是一种轻量级的通知方式,它会在屏幕底部短暂...
耗时操作完成后,我们在主线程中调用`dismiss()`方法关闭对话框,确保操作完成后对话框会正确地消失。 另一种定时关闭的方案是使用Handler和Runnable。这种方式更适合在主线程中处理耗时操作的情况: ```java ...
.setNegativeButton("取消", null) // 取消按钮,这里设置为null表示不处理点击事件 .show(); ``` 对于自定义`AlertDialog`,主要涉及以下几个方面: 1. **自定义视图**:你可以通过`setView()`方法传入一个...
在Android开发中,`AlertDialog`是一个非常常见的组件,它用于显示警告、确认或者询问用户的信息。这个`alertDialog.zip`文件包含的源码是关于如何在Android应用中使用`AlertDialog`进行交互的学习材料。让我们深入...
在Android中,`AlertDialog`是一种用于显示警告或确认消息的对话框,通常包含一个标题、消息文本和一个或多个操作按钮。默认情况下,`AlertDialog`具有Android原生的外观,但通过自定义布局和样式,我们可以改变其...
4. **按钮样式(Button Style)**:可以自定义按钮的文本、颜色、大小、边框等,甚至可以设置按钮的点击动画。 5. **对话框动画(Animations)**:添加进入和退出的动画效果,使得对话框的出现和消失更加流畅自然。...
点击供应商选择按钮出现对话框,选择供应商后tv控件显示选择的供应商名称,点击确定,对话框消失。 public class MainActivity extends AppCompatActivity { private TextView tvaMainTitle; private Button ...