4

我想应用像Graphical Layout节目这样的风格Theme.DeviceDefault.Dialog.Alert。我知道现在是私人风格,我不能把它当父母。

我该怎么做才能让我的风格保持这种风格DialogFragment

(我的目标是 API 15,也许我想要 minSdk API 12)。

这向我报告了一个错误(父母,就像我读到的,它现在是私人的):

<style name="MyDialogStyle" parent="@android:style/Theme.DeviceDefault.Dialog.Alert">

未找到与给定名称匹配的资源。

我刚刚读到我必须“复制”样式项目,但我找不到它在哪里?

有人可以帮我吗?我需要将该样式“克隆”到我的自定义样式中。

提前致谢。

我尝试过的事情:

DialogFragment 的硬编码背景

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(0));

    return super.onCreateView(inflater, container, savedInstanceState);
}

我的自定义风格

<style name="MyDialogStyle">    
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:background">@android:color/transparent</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

我访问了这些链接:

http://developer.android.com/reference/android/app/AlertDialog.html http://developer.android.com/guide/topics/ui/themes.html

http://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=18659

在最新的 android 3.2 sdk 更新后,找不到与给定名称匹配的资源 '@android:style/AlertDialog' 错误

http://daniel-codes.blogspot.com/2011/08/new-to-android-more-style-restrictions.html

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/styles.xml

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/themes.xml

https://android.googlesource.com/platform/frameworks/base/+/d11e6151fe88314505fa7adca6278de2e772b11c/core/res/res/values/themes_device_defaults.xml

4

1 回答 1

1

Dialog最后我用a解决了这个问题,DialogFragment因为最后一个不支持透明布局。很容易设置透明背景制作新的activity并设置样式Manifest。否则,我不得不使用活动而不是片段来更改对话框的结构。

我希望这可以节省一些人的研究时间。

再见!

于 2012-12-27T17:17:30.883 回答