Android中的DialogFragment主题

Lib*_*hos 18 user-interface android

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

Mar*_*son 29

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

因此,如果在res/values/styles.xml中创建名为"MyStyle"的新样式:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    .
    .
    .
    <style name="MyStyle">
        .
        .
        .
    </style>
    .
    .
    .
</resources>
Run Code Online (Sandbox Code Playgroud)

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

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