1 弹出框实现原理:
利用Dialog实现显示,然后背景透明
显示位置利用对话框的window的x和y属性来设置
通过setCanceledOnTouchOutside设置点击对话框外面,对话框是否消失
2 下载对话框以及进度条
下载附件其实就是利用URLConnection建立附件链接,然后拿到附件总大小
利用流,不断的读取数据然后不断计算下载进度百分比,利用handler传到UI线程显示
在读取循环中不断的查看线程停止标志,如果标志stop,则直接break
对于停止下载功能,就是直接设置停止标志,然后删除没有下载完的附件就可以了
一般下载前要判断这个文件是否已经下载过了,如果下载过了直接打开
打开其实就是设置intent的flags、action、mine直接startActivity就可以了
3 安装apk,设置下面intent,然后启动activity就可以了
intent.setDataAndType(Uri.parse("file://" + apkfile.toString()), "application/vnd.android.package-archive");
4 透明登录框,类似网页端的页面弹出对话框,并且对话框显示在屏幕中间(实际上是Activity)
1)背景透明,theme为透明的
<style name="Theme.HalfTranslucent" parent="@android:style/Theme.Translucent">
<item name="android:windowBackground">@color/half_transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowAnimationStyle">@style/Animation.Translucent</item>
<item name="android:windowContentOverlay">@null</item>
</style>
2) 软键盘显示,对话框整体上移,对话框不能太高否则软键盘显示则对话框直接弹出页面了
设置:android:windowSoftInputMode="adjustResize"