欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Android 开发使用PopupWindow实现加载等待界面功能示例

程序员文章站 2022-11-23 11:07:13
本文实例讲述了android 开发使用popupwindow实现加载等待界面功能。分享给大家供大家参考,具体如下:实现加载等待界面我用了两种方式,一种是用popupwindow实现,另一种便是用act...

本文实例讲述了android 开发使用popupwindow实现加载等待界面功能。分享给大家供大家参考,具体如下:

实现加载等待界面我用了两种方式,一种是用popupwindow实现,另一种便是用activity实现。用activity实现方法请见我的另一篇博客:

android 使用activity实现加载等待界面

首先看效果:

Android 开发使用PopupWindow实现加载等待界面功能示例

用popupwindow实现此功能还是比较简单的,首先我们写一个布局,只有一个登录按钮,用于触发等待界面:

<?xml version="1.0" encoding="utf-8"?>
<linearlayout
 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"
 android:paddingbottom="@dimen/activity_vertical_margin"
 android:paddingleft="@dimen/activity_horizontal_margin"
 android:paddingright="@dimen/activity_horizontal_margin"
 android:paddingtop="@dimen/activity_vertical_margin"
 android:orientation="vertical"
 tools:context="com.toprs.myapplication.mainactivity">

 <button
  android:text="登录"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:onclick="loginclick"
  android:id="@+id/button2"/>
</linearlayout>

然后为登录按钮添加监听事件:

package com.wang.myapplication;

import ...

public class mainactivity extends appcompatactivity {

 @override
 protected void oncreate(bundle savedinstancestate) {
  super.oncreate(savedinstancestate);
  setcontentview(r.layout.activity_main);
 }

 public void loginclick(view v){
  final popupwindow popupwindow = new popupwindow();
  popupwindow.setheight(viewgroup.layoutparams.wrap_content);
  popupwindow.setwidth(viewgroup.layoutparams.wrap_content);
  popupwindow.setfocusable(true);
  view view = layoutinflater.from(this).inflate(r.layout.popup,null);
  popupwindow.setcontentview(view);
  popupwindow.showatlocation(getwindow().getdecorview(), gravity.center,0,0);

  new handler().postdelayed(new runnable() {
   @override
   public void run() {
    toast.maketext(mainactivity.this, "登录成功", toast.length_short).show();
    popupwindow.dismiss();
   }
  },2000);
 }
}

其中弹出的popupwindow需要一个布局,也就是简单放入一个progressbar:

<?xml version="1.0" encoding="utf-8"?>
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="200dp"
    android:layout_height="200dp">

 <progressbar
  android:id="@+id/progressbar4"
  style="?android:attr/progressbarstyle"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_centerinparent="true"/>

</relativelayout>

大功告成,运行一下即可!!