Loading waiting 实现方式
来源:互联网 发布:重庆大学博雅学院 知乎 编辑:程序博客网 时间:2024/05/30 05:40
waiting_layout.xml 布局的代码:
<?xml version="1.0" encoding="UTF-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal" android:layout_width="280dip"android:layout_gravity="center" android:gravity="center"android:layout_height="120dip" android:background="@drawable/alpha_black_back"><ProgressBar android:layout_width="wrap_content"style="?android:attr/progressBarStyleLarge" android:layout_height="wrap_content"android:layout_margin="5dip" /><TextView android:id="@+id/identify_label" android:textColor="#fff"android:paddingLeft="3dip" android:paddingRight="5dip"android:layout_width="wrap_content" android:textSize="22sp"android:layout_height="fill_parent" android:gravity="center"android:text="@string/common_message_pleaseWait" /></LinearLayout>
在Activity上层新建一个Window,用于承载loading. 这样做的好处,避免在Activity上加一个ProgressView. 具体代码如下:
protected final void showWaiting(boolean isBlur) {isWaiting = true;try {WindowManager.LayoutParams lp = null;if (isBlur) {lp = new WindowManager.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT,WindowManager.LayoutParams.TYPE_APPLICATION,WindowManager.LayoutParams.FLAG_FULLSCREEN| WindowManager.LayoutParams.FLAG_BLUR_BEHIND| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,PixelFormat.TRANSLUCENT);} else {lp = new WindowManager.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT,WindowManager.LayoutParams.TYPE_APPLICATION,WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,PixelFormat.TRANSLUCENT);}WindowManager mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);if (waitView == null) {LayoutInflater inflate = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);waitView = inflate.inflate(R.layout.waiting_layout, null);}mWindowManager.addView(waitView, lp);} catch (Throwable e) {isWaiting = false;Log.e(TAG, "[showWaiting]");}} protected final void hideWaiting() {isWaiting = false;try {if (waitView != null) {WindowManager mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);mWindowManager.removeView(waitView);waitView = null;}} catch (Throwable e) {Log.e(TAG, "[showWaiting]", e);}}
http://blog.csdn.net/wukunting/article/details/6332767
- Loading waiting 实现方式
- Loading waiting 实现方式
- Android实现加载(loading)图片旋转的三种方式
- 解决Cygwin中的“died waiting for dll loading”错误
- Ext实现waiting提示功能
- waiting
- js 实现loading效果
- Iphone实现Loading效果
- jquery实现loading...提示
- 如何实现环形Loading
- Iphone实现Loading效果
- HTML+CSS实现loading
- bootstrap实现loading
- CSS3 实现 Loading 动画
- weui loading效果实现
- css3实现loading
- 遮罩层Loading实现
- loading的实现(css3)
- 使用Vitamio打造自己的Android万能播放器(6)——在线播放(播放列表)
- android 图片处理收集
- Android ViewPager + Fragment 替换 TabActivity
- x86和arm架构原子操作的区别
- 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)
- Loading waiting 实现方式
- Linux 后台运行程序
- 地形图跳绘
- 验证HTML,CSS及RSS源的14个免费工具
- 使用Vitamio打造自己的Android万能播放器(8)——细节优化
- 硬盘不够了怎么办
- UML用例图总结
- 黑马程序员10-枚举 自我提问
- 数据库事务