首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >显示进度对话框并允许更改屏幕方向的登录屏幕

显示进度对话框并允许更改屏幕方向的登录屏幕
EN

Stack Overflow用户
提问于 2016-09-22 04:42:09
回答 4查看 519关注 0票数 5

你好,我正在尝试实现一个登录屏幕,显示一个进度对话框,并允许手机旋转。

我想问一下,最好的方法是什么(IntentService,AsyncTask,服务),并允许手机旋转?

我读了很多答案,说了不同的东西,使用了一个空片段,还有AsyncTask等等。

EN

Stack Overflow用户

发布于 2016-10-21 01:37:15

您可以在manifest中执行类似的操作以允许循环:

代码语言:javascript
运行
复制
<application
        android:allowBackup="true"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name=".activities.MainActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name"/>

然后,您可以在您的活动中使用以下代码片段来捕捉旋转:

代码语言:javascript
运行
复制
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        Log.v(this.getClass().getName(), "onConfigurationChanged()");
    }

要在进度对话框中执行异步任务,下面的代码片段应该会给出一个ligth:

代码语言:javascript
运行
复制
private ProgressDialog pDialog;

private class MyAsync extends AsyncTask<String, Void, String> {
    Activity context;

    public MyAsync (Activity context) {
        this.context = context;
    }

    @Override
    protected void onPreExecute(){ 
        super.onPreExecute();
        pdia = new ProgressDialog(context);
        pdia.setMessage("Loading...");
        pdia.show();    
    }
    @Override
    protected String doInBackground(String... urls) {
        ...
        //do your login scheme
        ...
        //context.methods()
        return "ok";
    }
    @Override
    protected void onPostExecute(String result) {
        pDialog.dismiss();
        if(result!=null && result.equals("ok")){
            //login was successfully done
        } else {
            //login has failed
        }
    }
}

要使用这个异步任务,你应该调用:

代码语言:javascript
运行
复制
new MyAsync(this).execute(null, null , null);

顺便说一句,this是您的活动/片段。

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39626235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档