自定义ProgressDialog
2015-07-15 18:03
309 查看
效果图:
Demo:files.cnblogs.com/files/liujingg/ProgressDialog.rar
半透明圆角背景 custom_progressbar.xml
自定义ProgressBar custom_progressdialog.xml
自定义ProgressDialog的布局
自定义style
调用: createLoadingDialog(this, "加载中...").show();
Demo:files.cnblogs.com/files/liujingg/ProgressDialog.rar
半透明圆角背景 custom_progressbar.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#33000000" /> <corners android:radius="10dp" /> </shape>
自定义ProgressBar custom_progressdialog.xml
<?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:toDegrees="360" > <shape android:innerRadiusRatio="2.5" android:shape="ring" android:thicknessRatio="20" android:useLevel="false" > <gradient android:centerColor="#8B8B8B" android:endColor="#666666" android:startColor="#ffffff" android:type="sweep" /> </shape> </rotate>
自定义ProgressDialog的布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/dialog_view" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/custom_progressdialog" android:gravity="center" android:orientation="vertical" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="16dp" > <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminateDrawable="@drawable/custom_progressbar" /> <TextView android:id="@+id/tipTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="clip_horizontal" android:layout_marginTop="5dp" android:gravity="center_horizontal" android:textColor="#FFFFFF" /> </LinearLayout>
自定义style
<style name="loading_dialog" parent="android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@drawable/custom_progressdialog</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> </style>
调用: createLoadingDialog(this, "加载中...").show();
public Dialog createLoadingDialog(Context context, String msg) { LayoutInflater inflater = LayoutInflater.from(context); View v = inflater.inflate(R.layout.progressdialog_no_deal, null); LinearLayout layout = (LinearLayout) v.findViewById(R.id.dialog_view); TextView tipTextView = (TextView) v.findViewById(R.id.tipTextView); tipTextView.setText(msg); Dialog loadingDialog = new Dialog(context, R.style.loading_dialog); loadingDialog.setCancelable(true); loadingDialog.setContentView(layout, new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); return loadingDialog; }
相关文章推荐
- PHP面向对象(OOP)编程入门教程链接
- prefix pch 中引用cocoapods 中的头文件失败
- C#注册机与绑定软件(转发自:韩兆新的博客园的C#学习笔记——软件注册与注册机)
- UCI命令系统
- JUnit框架功能详细(Rule、Assume、Assert)——JUnit学习(二)
- 微信朋友圈分享js代码最新2015年无错版
- Storm 配置说明
- 杭电1276士兵队列的训练问题
- mybatis 插入一条数据返回相应数据ID
- groovy语言主要是用来干什么,和JAVA的区别是什么
- 重载->运算符(感觉怪怪的)
- 嵌入式linux之按键驱动程序
- LeetCode Delete Node in a Linked List
- c# 获取客户端ip、mac、机器名、操作系统、浏览器信息
- mnesia
- 【动态口令】基础
- 5分钟开启Esper之旅
- JUnit框架功能详细——JUnit学习(一)
- 浅谈Python Web的五大框架
- android垃圾回收机制及程序优化System.gc