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&q3%colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby3%sort3%id=18659

最新のandroid3.2sdkアップデート後、指定された名前'@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 に答える