【问题标题】:DialogFragment in Android with theme带有主题的Android中的DialogFragment
【发布时间】:2012-11-08 06:38:56
【问题描述】:

我正在构建我的第一个 android 应用程序。我制作了一个对话框片段,但它看起来不够好。为了有一个风格和一个主题,我使用了这个setStyle(DialogFragment.STYLE_NORMAL,0)。我想要的是片段的边缘像框架一样是黑色的,或者它的角是圆形的。我认为我必须在xml中编写自己的样式并将其放入样式中,但我不确定。有人可以指出我正确的方向吗?感谢您的宝贵时间。

【问题讨论】:

    标签: android user-interface


    【解决方案1】:

    正如您所说,您需要创建要应用的样式,然后将其分配给您的DialogFragment,作为setStyle() 方法调用中的第二个参数。在拨打show()之前,您必须记得拨打此电话。

    所以,如果你在 res/values/styles.xml 中创建一个名为“MyStyle”的新样式:

    <resources xmlns:android="http://schemas.android.com/apk/res/android">
        .
        .
        .
        <style name="MyStyle">
            .
            .
            .
        </style>
        .
        .
        .
    </resources>
    

    然后在你的 setStyle 调用中使用它:

    DialogFragment dial = (DialogFragment) Fragment.instantiate(this, MyDialogFragment.class.getCanonicalName());
    dial.setStyle( DialogFragment.STYLE_NORMAL, R.style.MyStyle );
    dial.show();
    

    【讨论】:

    • 感谢您的回答。这既是好消息也是坏消息。我不知道如何在 xml 中构建类似的东西。您知道任何教程/示例代码吗?
    • 我的博客上有很多例子:blog.stylingandroid.com。具体来说,有一些关于将样式应用于 AlertDialog 的文章可能与您最相关:blog.stylingandroid.com/archives/271
    猜你喜欢
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多