首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使Android活动看起来像对话框

使Android活动看起来像对话框
EN

Stack Overflow用户
提问于 2010-03-07 07:28:09
回答 3查看 31.6K关注 0票数 17

我正在尝试打开小部件单击时的对话框。我已经用android:theme="@android:style/Theme.Dialog"解决了单击启动的活动的皮肤问题。不幸的是,我不能达到对话框的相同外观。

这就是结果:

Dialog from widget

相反,我想要达到这个结果(当然,按钮除外):

Desired dialog from widget

(您可以看到的窗口小部件对话框使屏幕一直处于按下状态)

正如您所看到的,其中存在一些差异:列表项的颜色、文本的颜色和列表项分隔符。是否有预定义的主题/样式来获得与标准对话框相同的外观?如果不是,那么要达到这个结果需要遵循哪些步骤?

我已经看到FoxyRing提供的小部件具有我想要的行为。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-08 02:23:26

为什么不使用具有透明背景布局的“传统”主活动

并从中调用一个标准的对话框?

..。好吧,如果我没理解错的话,这将是一个非常简单的把戏,不是吗?

票数 22
EN

Stack Overflow用户

发布于 2010-03-07 21:50:19

您可以像这样动态创建对话框:

代码语言:javascript
复制
        Context mContext = this;
        Dialog dialog = new Dialog(mContext);

        dialog.setContentView(R.layout.data_dialog);
        dialog.setTitle("Your title");

        AlertDialog.Builder builder;
        AlertDialog alertDialog;

        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
        View layout = inflater.inflate(R.layout.data_dialog,
                (ViewGroup) findViewById(R.id.AbsoluteLayout01));

        builder = new AlertDialog.Builder(mContext);
        builder.setView(layout);
        alertDialog = builder.create();
        alertDialog.show();

        final EditText txtUsername = (EditText) layout.findViewById(R.id.txtUsername);

        final AlertDialog thisDialog = alertDialog;

         Button btnSave = (Button) layout.findViewById(R.id.btnSave);
         btnSave.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {

                String strtxtUsername = txtUsername.getText().toString();

                //do something...

             }
         });                

要关闭该对话框,请调用thisDialog.dismiss();

该样式看起来像一个带有图标和标题文本的ListView的常规Theme.Light.NoTitleBar。

希望这能有所帮助!

票数 3
EN

Stack Overflow用户

发布于 2010-03-08 02:03:04

实际上,有一种比我下面建议的方法简单得多的方法。

看看标题“添加列表”下的:https://developer.android.com/guide/topics/ui/dialogs.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2394477

复制
相关文章

相似问题

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