国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Adnroid 自定義ProgressDialog加載中(加載圈)

2019-12-12 02:37:14
字體:
來源:轉載
供稿:網友

前兩天在做項目的時候發現有時候在訪問網絡數據的時候由于后臺要做的工作較多,給我們返回數據的時間較長,所以老大叫我加了一個加載中的logo圖用來提高用戶體驗.

于是就在網上找了許多大神寫的案例,再結合自己的情況完成了一個Loading工具類

效果:

ok,現在來說說怎么做的

先自定義一個類繼承ProgressDialog

public class Loading_view extends ProgressDialog {  public Loading_view(Context context) {    super(context);  }  public Loading_view(Context context, int theme) {    super(context, theme);  }  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    init(getContext());  }  private void init(Context context) {    setCancelable(true);    setCanceledOnTouchOutside(false);    setContentView(R.layout.loading);//loading的xml文件    WindowManager.LayoutParams params = getWindow().getAttributes();    params.width = WindowManager.LayoutParams.WRAP_CONTENT;    params.height = WindowManager.LayoutParams.WRAP_CONTENT;    getWindow().setAttributes(params);  }  @Override  public void show() {//開啟    super.show();  }  @Override  public void dismiss() {//關閉    super.dismiss();  }}

設置loading布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="100dp"  android:layout_height="100dp"  android:layout_gravity="center_horizontal"  android:background="@drawable/shape_dialog_bg"http://背景色  android:layout_centerInParent="true"  android:orientation="vertical">  <RelativeLayout    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_marginTop="10dp">    <ProgressBar      android:id="@+id/pb_load"      android:layout_width="65dp"      android:layout_height="65dp"      android:indeterminateDrawable="@drawable/progressbar"http://加載圈的樣式      android:layout_centerInParent="true"/>  </RelativeLayout>  <TextView    android:id="@+id/tv_load_dialog"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_gravity="center_horizontal"    android:text="加載中..."    android:textColor="#9a9b98"    android:textSize="12sp"/></LinearLayout>

背景色(可自行調整)

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" >  <corners android:radius="8dp" />  <solid android:color="#88000000" /></shape>

加載圈樣式(可自行調整)

<animated-rotate  xmlns:android="http://schemas.android.com/apk/res/android"  android:pivotX="50%" android:pivotY="50%"  android:fromDegrees="0"  android:toDegrees="720">  <shape    android:shape="ring"    android:innerRadiusRatio="3"    android:thicknessRatio="15"    android:useLevel="false">    <gradient      android:type="sweep"      android:useLevel="false"      android:startColor="#55c6c6c6"      android:centerColor="#c6c6c6"      android:centerY="0.50"      android:endColor="#c6c6c6" />  </shape></animated-rotate>

ok可以使用了

public class MainActivity extends AppCompatActivity {  private Loading_view loading;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);  }  public void loding(View v){//點擊加載并按鈕模仿網絡請求    loading = new Loading_view(this,R.style.CustomDialog);    loading.show();    new Handler().postDelayed(new Runnable() {//定義延時任務模仿網絡請求      @Override      public void run() {    loading.dismiss();//3秒后調用關閉加載的方法      }    }, 3000);  }}

為什么會這樣,不懂然后就去百度,google然后在一大神的文章里發現了,但是我在寫這文章的時候才發現當初沒有保存大神的地址再也找不到了

原來需要在創建自定義的loading 的時候在傳入 new Loading_view(this,R.style.CustomDialog);樣式

<style name="CustomDialog" parent="Theme.AppCompat.Dialog">  <item name="android:backgroundDimEnabled">false</item>  <item name="android:windowBackground">@android:color/transparent</item></style>

ok 再來一次


以上所述是小編給大家介紹的Adnroid 自定義ProgressDialog加載中(加載圈),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 离岛区| 岑溪市| 美姑县| 体育| 靖宇县| 临湘市| 芜湖市| 双桥区| 金门县| 紫阳县| 鸡西市| 贵州省| 三台县| 万盛区| 遵化市| 兴文县| 中阳县| 嵩明县| 于都县| 兴安县| 舒兰市| 汉寿县| 阿坝县| 姚安县| 二手房| 丹阳市| 包头市| 武乡县| 柘城县| 防城港市| 娄底市| 大邑县| 方城县| 武川县| 罗田县| 论坛| 镇沅| 清徐县| 庄河市| 丰县| 临西县|