学习笔记-简单自定义ProgressBar
来源:互联网 发布:node安装教程 编辑:程序博客网 时间:2024/06/05 10:55
在APP联网请求数据或者进行一些耗时的操作时,为了不让界面显的那么呆板,一般会选择用progressbar来进行过度,然而native 往往不符合大家的要求,说白了就是丑,这里,教大家一个简单的自定义progressBar的方法,就几行代码,轻松搞定;
直接上代码了....
ProgressDialog.java
import android.app.Activity;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;/** * Created by WR on 2017/6/6 0006. */public class ProgressDialog extends Dialog { private final View viewToFace; public ProgressDialog(Context context) { super(context, R.style.Dialog);//我这里是直接在构造方法里面关联style //点击其他地方消失 setCanceledOnTouchOutside(false); //填充对话框的布局 viewToFace = ((Activity)context).getLayoutInflater().inflate(R.layout .data_loading, null, false); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(viewToFace); }}然后写一个style,item不一定全部配置,可以根据自己的需求配置;
<style name="Dialog" parent="android:style/Theme.Dialog"> <item name="android:background">@drawable/loading_bg</item> <!-- 第二个就是弹出dialog后,下面的activity层的颜色啦--> <item name="android:windowBackground">@color/colorAccent</item> <!--这里设置为没有标题栏,如果这里不设置的话,你会发现无论布局怎么改都会出现多一栏白色 --> <item name="android:windowNoTitle">true</item><!--取消标题栏--> <item name="android:windowFrame">@null</item><!--边框--> <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上--> <item name="android:windowIsTranslucent">false</item><!--半透明--> <item name="android:backgroundDimEnabled">false</item><!--模糊--> </style>data_loading.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:padding="10dp" android:layout_width="wrap_content" android:layout_height="60dp"> <ProgressBar android:id="@+id/iv_loading" style="@style/Widget.AppCompat.ProgressBar" android:indeterminateDrawable="@drawable/rotate"<--这一句就是配置你progressbar界面展示的原图--> android:layout_marginLeft="10dp" android:layout_width="40dp" android:layout_height="40dp"/> <TextView android:text="请稍后..." android:textSize="20sp" android:gravity="center" android:layout_marginRight="15dp" android:layout_marginLeft="20dp" android:layout_width="wrap_content" android:layout_height="match_parent"/></LinearLayout>在 drawable文件夹下写一个旋转动画
<?xml version="1.0" encoding="utf-8"?><rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:duration="100" android:drawable="@mipmap/loading3" android:pivotX="50%" android:pivotY="50%" android:toDegrees="360" ></rotate>剩下的就是在代码里面使用了
直接在代码里面通过构造方法创造对象,因为它是继承的Dialog 类,所以直接调用 show() 方法和 dismiss() 方法就可以实现显示和消失的效果了,看到这里有木有觉得很简单? 如果还觉得难,你就直接copy 到项目中吧!
阅读全文
0 0
- 学习笔记-简单自定义ProgressBar
- android 简单自定义progressBar
- 自定义简单ProgressBar样式
- Android简单自定义ProgressBar
- 笔记103--自定义ProgressBar
- Android学习笔记-自定义仿支付宝ProgressBar动画
- 简单的自定义加载ProgressBar
- android开发学习笔记——简单的ProgressBar
- 学习笔记 progressbar
- Android 自定义学习(5)自定义Progressbar
- Android简单自定义圆形和水平ProgressBar
- Android简单自定义圆形和水平ProgressBar
- Android简单自定义圆形和水平ProgressBar
- Android简单自定义圆形和水平ProgressBar
- 自定义listview和ProgressBar的简单使用
- 简单的自定义圆形进度条ProgressBar
- Android简单自定义圆形和水平ProgressBar
- Android简单自定义圆形和水平ProgressBar
- 【字符串】【扩展kmp模板】
- sqlplus登陆方式
- hdu 2899 Strange fuction 模拟退火
- python中多进程和多线程的配合使用
- volatile的内存语义
- 学习笔记-简单自定义ProgressBar
- Java 并发工具包 java.util.concurrent 用户指南
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)
- 自己动手写操作系统:0.环境搭建
- 图论基础算法
- 练习 1
- netty学习八:在window上安装thrift以及第一个小demo
- 迷之阶梯
- Unity手游制作记-制作通用对象管理器(二)