一个Activity声明如下:
<activity android:name=".MainActivity"
android:theme="@android:style/Theme.Wallpaper.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
可以看到Activity的背景变成了桌面壁纸,其原理是将壁纸设置为了Activity中某个View的背景吗,如果是,怎么找到这个View,并获取这个壁纸实例(也就是这个壁纸)呢?
getWindow().getDecorView();this
すべてのアクティビティには setContentView が必要であり、このビューも同様です。
ただし、テーマはアクティビティに作用し、ビューには直接影響しません。
原則は、特定のビューの背景として壁紙を設定し、単純なアクティビティを作成してから、上方向にトラバースしてこの結論を得るということではありません
いくつかの情報を調べても、この原理の詳細な分析はありません。壁紙は下位レベルのメカニズムを通じて表示されていると推測されます...
関連する分析情報を見つけたら、共有してください。 :D