Android应用更新介绍提醒框
2015-08-17 18:11
357 查看
在很多Android应用更新的时候或者在第一次启动的时候会有一些功能使用指引,今天查了些资料,总结了两套方案:
继承AlertDialog
直接用WindowManager
此方法比较方便
继承AlertDialog
直接用WindowManager
import android.view.WindowManager.LayoutParams; public class TipsDialog extends AlertDialog { private boolean isShown = false; private int mShowDur = 0; public TipsDialog(Context context, int theme) { super(context, theme); } public TipsDialog(Context context) { super(context, R.style.dialog_tip); } /** * 设置弹框消失的时间 */ public void setShowDuration(int ms) { mShowDur = ms; } // 设置弹框显示的位置,从 (0,0)作为起始位置 public void setShowPoint(int xPix, int yPix) { Window win = getWindow(); LayoutParams params = new LayoutParams(); WindowManager wm = win.getWindowManager(); Point point = new Point(); wm.getDefaultDisplay().getSize(point); int width = -point.x / 2 + xPix; int height = -point.y / 2 + yPix; params.x = width; params.y = height; win.setAttributes(params); } // 设置显示的view public void show(View view) { setCanceledOnTouchOutside(true); show(); setContentView(view); isShown = true; // 如果时长大于0则延迟隐藏弹框 if (mShowDur > 0) { mHandler.sendEmptyMessageDelayed(0, mShowDur); } } private Handler mHandler = new Handler() { public void handleMessage(android.os.Message msg) { if (isShown) { dismiss(); } }; }; @Override public void dismiss() { super.dismiss(); isShown = false; } // 任意按键都隐藏 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { dismiss(); return super.onKeyDown(keyCode, event); } }
此方法比较方便
相关文章推荐
- Android实现炫酷SVG动画效果
- android studio
- 搭建android环境报:Failed to load the JNI shared library
- Android动画---对动画部分属性的解释
- Android 获取设置屏幕横竖屏
- android back键实现home键效果
- Retrofit – Java(Android) 的REST 接口封装类库
- Android ActivityManager与WindowManager
- Android之断点续传(二)
- Android 使用动态加载框架DL进行插件化开发
- android:获得poi图片的一种方法(百度地图api)
- Android annotations REST
- ant实现批量打包android应用
- Android帧动画实现
- android 滑动事件冲突解决 Touch事件处理机制
- Android:EditText专题
- Android ADB工具-操作手机和获取手设备信息(四)
- Android开发指南-用户界面-风格和主题
- Android开发指南-用户界面-风格和主题
- Android学习之本地文件的存储与加载