应用Android“Dialog”主题并正确调整大小

时间:2010-07-21 17:16:31

标签: android android-activity

我想在对话框中发生一项活动。无论如何,从代码中而不是在清单中执行此操作?我试图这样做,但似乎没有效果。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setTheme(R.style.Theme_Dialog);
}

此外,该活动包含一个webview,当它以对话框开始时,它有少量内容,对话框只有100px高。当内容填充时,它会在对话框中的一个100px高的窗口内滚动。如何让对话框占用更多的垂直空间?

3 个答案:

答案 0 :(得分:4)

您可以通过XML轻松完成此操作。只需使用名为“themes.xml”的XML,并将其放在values文件夹中。

这是一个实现自定义背景的基本示例:

<resources>
    <style name="my_theme" parent="@android:style/Theme.Dialog">
        <item name="android:windowBackground">@drawable/custom_background</item>
    </style>
</resources>

您还需要将以下行添加到清单的所需活动部分:

 android:theme="@style/my_theme"
PS:我意识到这是一个老线程,但希望它能帮助某人:)

答案 1 :(得分:0)

我不知道从代码中设置对话框主题的方法。

对话框基本上与包含内容所需的大小一样大,所以如果你想要它更大,你需要在视图中做一些更大的组件。也许您可以将webview的高度设置为更大的值。注意,使用dpi,而不是px!

答案 2 :(得分:0)

这是解决方案,您可以通过代码应用主题,感谢这个家伙:) 我自己并不知道这个构造函数

https://stackoverflow.com/a/1975508/371749