首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ProgressDialog上的主题使其全屏

ProgressDialog上的主题使其全屏
EN

Stack Overflow用户
提问于 2013-08-02 21:08:23
回答 1查看 2.5K关注 0票数 5

新手安卓开发来了。我对AsyncTask中的一些ProgressDialog有问题。

我想在创建ProgressDialog时应用一个主题,但当我应用它时,对话框就会全屏显示,并且我的活动被隐藏起来。当我在实例化时删除主题时,这是正常的。

我只想知道为什么。

下面是我用AsyncTask编写的类:

公共类同步{

代码语言:javascript
复制
private static AppManager       app = AppManager.getInstance();

public void Synchronise() {
}

AsyncTask<Void, Void, Boolean> task = new AsyncTask<Void, Void, Boolean>() {

    private ProgressDialog  pd;

    @Override
    protected void onPreExecute() {;
        pd = new ProgressDialog(app.m_AppContext, android.R.style.Theme_Black);
        pd.setTitle("Veulliez patienter");
        pd.setMessage("Synchronisation en cours...");
        pd.setCancelable(false);
        pd.setIndeterminate(true);
        pd.show();
    }

    @Override
    protected Boolean doInBackground(Void... arg0) {
        try {
            //Synchronisation
            Thread.sleep(2000);
            Log.d("DEBUG","sync en cours");
        } catch (InterruptedException e) {
            e.printStackTrace();
            return false;
        }
        return true;
    }

    @Override
    protected void onPostExecute(Boolean result) {
        pd.dismiss();
        if (result)
            Toast.makeText(app.m_AppContext, "Synchronisation terminé avec succès", Toast.LENGTH_SHORT).show();
        else
            Toast.makeText(app.m_AppContext, "La synchronisation a échoué", Toast.LENGTH_SHORT).show();
        Log.d("DEBUG","SYNC DONE");
    }
};

public void startSync() {
    if (app.m_bIsOnline)
        task.execute((Void[])null);
    else
        Toast.makeText(app.m_AppContext, "Mode offline. Synchronisation impossible", Toast.LENGTH_SHORT).show();            
}

}

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-11-03 20:56:30

您需要将父样式更改为对话框。例如:

代码语言:javascript
复制
<style name="AppTheme.Light" parent="Theme.AppCompat.Dialog" >
        <item name="colorAccent">@color/theme_color</item>
        <item name ="android:background">@color/theme_background_light</item>
        <item name = "android:textColor">@color/black</item>
</style>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18017680

复制
相关文章

相似问题

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