アプリでTheme.Wallpaperを使用したかったのです。このテーマでは、携帯電話の現在の壁紙を背景として使用します。問題は、4.1デバイスでは機能しないことです。また、スタイルリソースでTheme.Wallpaperを再作成しようとしましたが、4.1デバイスでは機能しません。-下位のAPIでも機能しない可能性があることに注意してください。確認したのは、2.2.1でのみ機能し、4.1では機能しないことです。なぜそれが機能しないのか、そしてそれに対する解決策があるかどうか知りたいです。
1 に答える
私はついに答えを見つけました、それは少し複雑です:
14を超えるターゲット(私の場合は17)用に構築されたプロジェクトでは、eclipseは自動的に「values-v11」フォルダーと「values-v14」フォルダーを作成します(apiバージョン14以降または11以上の電話またはAVDに適用されます)。これらのフォルダーには、「AppBaseTheme」スタイルを含むstyle.xmlファイルがあります。この「AppBaseTheme」スタイルは、「AppTheme」スタイルの親である(または拡張される)デフォルトの「values」フォルダー内のファイルを置き換えます。デフォルトでアプリケーションに適用されます。
ここで、「Theme.Wallpaper」スタイルをアプリに適用することを選択した方法は、「AppBaseTheme」をアプリから継承することでした。これを理解すると、API11以降を使用するシステムでアプリに「Theme.Wallpaper」のような動作がなかった理由が明らかになりました。代替のv11およびv14「AppBaseTheme」で「Theme.Wallpaper」またはより適切なものを拡張したことはありません。 v11の場合は「Theme.Holo.Wallpaper」、v14の場合は「Theme.DeviceDefault.Wallpaper」。
だから、あなたがスタイルを適用するのに問題があるなら、私はあなたがこれを見ることを願っています...
編集:これを読んでいて、Eclipseでstyle.xmlファイルを編集するのに問題がある場合は、このファイルを任意のテキストエディター(私のお気に入りはnotepad ++)で開いて、Eclipseで再度開くよりもすべてのコメントを削除してみてください。コメントが必要な場合は、テキストエディタでコメントを追加してください。