zoukankan      html  css  js  c++  java
  • android项目实现自定义动态加载Dialog提示框

    1.首先创建一个dialog_loading.xml
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="180dp"
    android:layout_height="150dp"
    android:background="@mipmap/load_rectangle"
    android:gravity="center"
    android:orientation="horizontal">

    <pl.droidsonroids.gif.GifImageView
    android:id="@+id/gv_error"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:src="@mipmap/loading_black"
    />
    <TextView
    android:id="@+id/load_tv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="正在升级..."
    android:layout_marginLeft="5dp"
    android:textColor="@android:color/black"
    />
    </LinearLayout>
    2,在所需要使用Dialog提示框效果的代码中加入代码:
    //kotlin实现代码,记得在声明 progressDialog
    private lateinit var progressDialog:Dialog

    progressDialog = Dialog(this@MainActivity, R.style.progress_dialog)
    progressDialog.setContentView(R.layout.dialog_upgrade)
    progressDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent)
    val msg = progressDialog.findViewById(R.id.load_tv) as TextView
    msg.setText("正在升级中...")
    progressDialog.show()
    3.在style.xml文件中写入progress_dialog类型文件
    <style name="progress_dialog" parent="@android:style/Theme.Dialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:background">@null</item>
    <item name="android:windowBackground">@null</item>
    <item name="android:backgroundDimEnabled">false</item>
    </style>

    4、在这个动态dialog实现的过程中,并没有使用progressbar控件,而是我为了省事,直接在网上找了个可以在android 项目中调用gif图的依赖
    在app/build.gradle文件中添加依赖
    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.15'

    需要注意的是,我使用的GIF图到android项目,不是一张图片

    
    
     
  • 相关阅读:
    证书介绍
    Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
    Hive安装与配置详解
    技术学习内容
    死锁,更新锁,共享锁,排它锁,意向锁,乐观锁,悲观锁等名词解释及案例详解
    死锁语句
    SQL Server 锁表、查询被锁表、解锁相关语句
    Psi Probe 安装及使用说明
    PowerDesigner使用教程
    Python -面向对象(一 基本概念)
  • 原文地址:https://www.cnblogs.com/zhoushasha/p/10849788.html
Copyright © 2011-2022 走看看