【问题标题】:Size of Alert Dialog or Custom Alert Dialog警报对话框或自定义警报对话框的大小
【发布时间】:2012-01-12 13:34:05
【问题描述】:

我正在为所有 10.1 平板电脑创建我的应用程序,现在我正在三星 Galaxy 选项卡上尝试这个。 我已经完成了所有部分,但是关于平板电脑大小的警报对话框太小了。 我还创建了自定义警报对话框,但看起来不太好。 那么请告诉我,如果可以,我可以更改默认警报对话框的大小,然后如何。

如何创建类似于默认警报对话框的自定义警报对话框。

谢谢。

【问题讨论】:

    标签: android


    【解决方案1】:

    请参考this one

    根据 Android 平台开发人员 Dianne Hackborn 在this 讨论组帖子中的说法,Dialogs 将其 Window 的顶级布局宽度和高度设置为 WRAP_CONTENT。要使 Dialog 更大,您可以将这些参数设置为 FILL_PARENT。

    演示代码:

    AlertDialog.Builder adb = new AlertDialog.Builder(this);
    Dialog d = adb.setView(new View(this)).create();
    // (That new View is just there to have something inside the dialog that can grow big enough to cover the whole screen.)
    
    WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
    lp.copyFrom(d.getWindow().getAttributes());
    lp.width = WindowManager.LayoutParams.MATCH_PARENT;
    lp.height = WindowManager.LayoutParams.MATCH_PARENT;
    d.show();
    d.getWindow().setAttributes(lp);
    

    请注意,属性是在对话框显示后设置的。系统对它们何时设置很挑剔。 (我猜布局引擎必须在第一次显示对话框时设置它们。)

    最好通过扩展 Theme.Dialog 来做到这一点,这样您就不必玩什么时候调用 setAttributes 的猜谜游戏了。 (虽然让对话框自动采用适当的浅色或深色主题,或者 Honeycomb Holo 主题需要更多的工作。可以根据http://developer.android.com/guide/topics/ui/themes.html#SelectATheme 完成)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多