Dialog第三方登录等待

1. styles.xml 中加入

<style name="loadingDialogStyle" parent="android:Theme.Dialog">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <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">true</item>
    </style>

2. dialog_loading.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/transparent"
    android:gravity="center"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/LinearLayout"
        android:layout_width="160dp"
        android:layout_height="160dp"
        android:background="@drawable/dialog_bg"
        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="@android:color/white" />
    </LinearLayout>

</LinearLayout>

3. LoadingDialog.java

public class LoadingDialog extends Dialog {
    private TextView tv;

    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) this.findViewById(R.id.tv);
        tv.setText("正在登录...");
        LinearLayout linearLayout = (LinearLayout) this
                .findViewById(R.id.LinearLayout);
        linearLayout.getBackground().setAlpha(210);
    }
}

4. 加入你的主代码中

public class MainActivity extends Activity {
    LoadingDialog dialog;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dialog = new LoadingDialog(this);
        dialog.setCanceledOnTouchOutside(false);
        dialog.show();
    }
}

5. 总结

相当于自定义一个界面,中间一个dialog,背景setAlpha(210),覆盖你的界面。登录成功后,消失dialog.dismiss().

时间: 2024-10-12 08:32:01

Dialog第三方登录等待的相关文章

android使用友盟实现第三方登录、分享以及微信回调无反应问题解决办法

        Leaning_wk每一次的进步都会拉近与成功的距离! 帐号设置退出   关闭 qq_15855289的博客 目录视图 摘要视图 订阅 异步赠书:Kotlin领衔10本好书      免费直播:AI时代,机器学习如何入门?      程序员8月书讯      每周荐书:Java Web.Python极客编程(评论送书) android使用友盟实现第三方登录.分享以及微信回调无反应问题解决办法 标签: android友盟第三方登录分享微信登录回调问题 2017-02-10 16:2

安卓第三方登录之微信登录(图文详解)

安卓第三方登录之微信登录  一.成为开发者 到微信开放平台管理中心(https://open.weixin.qq.com/),认证成为开发者 二.创建应用 “创建移动应用”   填写基本的应用信息 填写平台信息 可参照后面的步准备好要填写的信息. 应用包的名称: keystore 第一步:用 Android Studio 生成 keystore 第二步:Create New 第三步:填写相关信息,里面内容什么含义自行Google 创建key的文件夹,也可保存到其它地方 创建新的签名,填写组织的相

第三方登录开发-Facebook

这次这个项目要分别可以使用新浪微博,qq互联以及Facebook和Twitter授权登录 facebook目前只支持oauth2技术,个人理解其工作流程是当用户想访问当前网站,却不想注册账号,此时当前网站有其它主流网站的第三方登录支持功能,即使用当前站的合作网站的账号密码去第三方合作网站验证用户的合法性,验证成功则允许登录当前站点,无需知道第三方的账号密码.      开发前需要先注册一个facebook的应用,这样可以得到类似密钥的两个值,client_id和client_secret,这两个

试用友盟SDK实现Android第三方登录(以QQ登录为例)

虽然自己在日常工作中用不到第三方登录,但是它的重要性无可厚非. 废话不多说,接下来跟着步骤走,轻松集成第三方登陆. 一,在友盟注册应用 注册好友盟账户后,在http://www.umeng.com/social 中注册自己的应用 拿到友盟Appkey(记得先创建项目,在注册时package别弄错了...) 二,在腾讯开放平台中注册开发者信息,并注册应用 链接:http://open.qq.com/ 进入后点击移动应用 提交个人(公司)资料注册开发者信息(需要审核等待),通过后再创建移动应用(这里

微信公众号与APP微信第三方登录账号打通

一个项目同时开发了APP和微信服务号,需要做到APP和微信服务号的账号互通同步,也就是说一个账号在2个地方都可以用,当然这个前提是保证你公司自己的服务器的数据库用的是同一套. 为保证用户数据的唯一性,打通app与公众号的数据,需要做如下工作: 1.申请appid, 在-登录微信开放平台--申请账号(如果没有,就去注册,不能使用公众号登录或注册)--开发者资质认证(账号中心,认证时需提交很多资料:等待认证结果)--认证通过之后,创建应用(管理中心,创建你要开发的app,等待审核):以上是app需要

实现第三方登录(QQ、微信、微博)

第三方登录,就是使用大家比较熟悉的比如QQ.微信.微博等第三方软件登录自己的网站,这可以免去注册账号.快速留住用户的目的,免去了相对复杂的注册流程.下边就给大家讲一下怎么使用PHP开发QQ登录的功能. 1.进入QQ互联官网进行登录(可以使用自己的QQ或者重新注册一个QQ号作为咱们项目的单独QQ进行管理),地址:https://connect.qq.com/ 2.点击"应用管理"进入QQ互联管理中心,在这里进行相关应用的创建,分为 网站应用 和 移动应用.选择自己想要的应用进行资料的填写

QQ第三方登录(预备节)

第一次很多时候,用户因为复杂的注册程序,而不愿意再体验我们的网站服务,我们可以通过QQ第三方授权,这样既保证了用户数,而且也极大的提高了用户体验.废话就不多说了,直接进入正题... 要实现QQ第三方登陆 这就需要QQ方面的支持. 首先  我们需要在QQ开发者网站上注册,https://connect.qq.com/index.html 登陆之后点击应用管理,正常情况下我们是未提交审核的 我们第一次操作的时候需要进行一些必要的身份验证,点击头像根据自己拥有的填写基本资料 提交之后会有一段审核时间,

第三方登录微信授权

工作中遇到了微信授权,记录一下做个笔记,省了以后忘了 [微信公众平台|开发文档] http://mp.weixin.qq.com/wiki/home/. 首先,啥时候会用到微信授权 用户想在微信上访问第三方网页,需要微信授权.授权之后可以获取到用户信息 微信授权分为两种:snsapi_base(用户无感知的,可以叫静默授权)和snsapi_userinfo(需要用户手动同意的授权,不知道别名叫爪子) 其次,微信授权的流程 1 第一步:用户同意授权,获取code 2 第二步:通过code换取网页授

【Android实战】实现新浪微博第三方登录获取用户信息

本来最开始研究的腾讯微博第三方登录,但腾讯微博的SDK太糟糕了,估计他们自己都放弃了.想想也是,除了腾讯自家的应用在用腾讯微博,其他的开发者基本不去碰这块.所以马上去研究微博老大去了,平台果然强大,代码和文档一大堆,研究了半天,找点自己需要的功能,还是有点收获,先把这些记录下来,以后再慢慢研究. 目前实现的是实现第三方的登录,获取用户名显示到第三方应用上面. 主类,用到了Afinal框架 public class WbMainAct extends FinalActivity { // @Vie