代码之家  ›  专栏  ›  技术社区  ›  Alex Wayne

应用Android“Dialog”主题并适当调整其大小

  •  1
  • Alex Wayne  · 技术社区  · 14 年前

    我有一个活动,我想发生在一个对话。有没有从代码而不是在清单中这样做?我试着这样做,但似乎没有效果。

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

    另外,活动包含一个webview,当它作为一个对话框启动时,它有少量的内容,而对话框只有100像素高。当内容填满时,它会在对话框中一个100像素高的小窗口中滚动。如何使对话框占用更多的垂直空间?

    3 回复  |  直到 14 年前
        1
  •  4
  •   volcanicLightning    13 年前

    您可以通过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"
    

    附言:我知道这是一个古老的线程,但希望它能帮助一些人尽管如此:)

        2
  •  0
  •   Cheryl Simon    14 年前

    我不知道如何从代码中设置对话框主题。

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

        3
  •  0
  •   Community Egal    7 年前

    这就是解决办法 ,你可以 通过代码应用主题 ,多亏了这个家伙:) 我自己也不知道这个构造器

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