Android仿微信进度d出框的实现方法

Android仿微信进度d出框的实现方法,第1张

概述MainActivity:packagecom.ruru.dialogproject;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;

MainActivity:

package com.ruru.dialogproject; import androID.app.Activity; import androID.os.Bundle; import androID.vIEw.VIEw; public class MainActivity extends Activity implements Runnable {  LoadingDialog dialog;  @OverrIDe  protected voID onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentVIEw(R.layout.activity_main);   findVIEwByID(R.ID.btn_name).setonClickListener(new VIEw.OnClickListener() {    @OverrIDe    public voID onClick(VIEw vIEw) {     dialog = new LoadingDialog(MainActivity.this);     dialog.setCanceledOntouchOutsIDe(false);     dialog.show();     new Thread(MainActivity.this).start();    }   });  }  public voID run() {   try {    Thread.sleep(5000);    dialog.dismiss();   } catch (InterruptedException e) {    e.printstacktrace();   }  } } 

activity_main:

<?xml version="1.0" enCoding="utf-8"?> <relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"  xmlns:tools="http://schemas.androID.com/tools"  androID:ID="@+ID/activity_main"  androID:layout_wIDth="match_parent"  androID:layout_height="match_parent"  tools:context="com.ruru.dialogproject.MainActivity">  <button   androID:ID="@+ID/btn_name"   androID:layout_wIDth="match_parent"   androID:layout_height="wrap_content"   androID:text="Hello World!" /> </relativeLayout>

LoadingDialog:

package com.ruru.dialogproject; import androID.app.Dialog; import androID.content.Context; import androID.os.Bundle; import androID.Widget.linearLayout; import androID.Widget.TextVIEw; /**  * Created by 27c1 on 2017/1/4.  */ public class LoadingDialog extends Dialog {  private TextVIEw tv;  /**   * style很关键   */  public LoadingDialog(Context context) {   super(context,R.style.loadingDialogStyle);  }  @OverrIDe  protected voID onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentVIEw(R.layout.dialog_loading);   tv = (TextVIEw) findVIEwByID(R.ID.tv);   tv.setText("正在上传.....");   linearLayout linearLayout = (linearLayout) this.findVIEwByID(R.ID.linearLayout);   linearLayout.getBackground().setAlpha(210);  } } 

dialog_loading:

<?xml version="1.0" enCoding="utf-8"?> <linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"  androID:layout_wIDth="fill_parent"  androID:layout_height="fill_parent"  androID:background="@androID:color/transparent"  androID:orIEntation="vertical">  <linearLayout   androID:ID="@+ID/linearLayout"   androID:layout_wIDth="160dp"   androID:layout_height="160dp"   androID:background="@drawable/yuanjiao"   androID:gravity="center"   androID:orIEntation="vertical">   <Progressbar    androID:ID="@+ID/progressbar1"        androID:layout_wIDth="wrap_content"    androID:layout_height="wrap_content"    androID:layout_gravity="center"    androID:background="@androID:color/transparent" />   <TextVIEw    androID:ID="@+ID/tv"    androID:layout_wIDth="wrap_content"    androID:layout_height="wrap_content"    androID:layout_gravity="center"    androID:paddingtop="10dp"    androID:textcolor="#fff" />  </linearLayout> </linearLayout> 

R.style.loadingDialogStyle:

<style name="loadingDialogStyle" parent="androID:theme.Dialog">   <item name="androID:windowBackground">@androID:color/transparent</item><!--设置dialog的背景-->   <item name="androID:windowFrame">@null</item><!--Dialog的windowFrame框为无-->   <item name="androID:windowNoTitle">true</item><!--是否显示Title-->   <item name="androID:windowIsfloating">true</item><!--是否浮现在activity之上-->   <item name="androID:windowIsTranslucent">true</item><!--是否半透明-->   <item name="androID:windowContentOverlay">@null</item><!--是否半透明-->   <item name="androID:windowAnimationStyle">@androID:style/Animation.Dialog</item><!-- 对话框是否有遮盖 -->   <item name="androID:backgroundDimEnabled">false</item><!--背景是否模糊显示-->   <item name="androID:backgroundDimAmount">0.6</item><!--背景的灰度-->  </style> 

drawable-yuanjiao:

<?xml version="1.0" enCoding="utf-8"?> <shape xmlns:androID="http://schemas.androID.com/apk/res/androID">  <solID androID:color="#86222222" />  <corners   androID:bottomLefTradius="10dp"   androID:bottomrighTradius="10dp"   androID:topLefTradius="10dp"   androID:topRighTradius="10dp" /> </shape>

效果:

关于样式:

<item name="androID:windowFrame">@null</item> :Dialog的windowFrame框为无 <item name="androID:windowIsfloating">true</item>:是否浮现在activity之上 <item name="androID:windowIsTranslucent">false</item>:是否半透明 <item name="androID:windowNoTitle">true</item>:是否显示Title <item name="androID:windowBackground">@drawable/dia_bg</item>:设置dialog的背景 <item name="androID:backgroundDimEnabled">true</item>背景是否模糊显示 <item name="androID:backgroundDimAmount">0.6</item>背景的灰度 

Window attributes属性详解

颜色为:#393939

以上所述是小编给大家介绍的AndroID仿微信进度d出框效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!

总结

以上是内存溢出为你收集整理的Android仿微信进度d出框的实现方法全部内容,希望文章能够帮你解决Android仿微信进度d出框的实现方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1147323.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存