一个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();這個
每個activity都需要setContentView 這個View就是.
但這跟theme無關. theme是作用於Activity的, 並不會直接影響View
原理不是把壁紙設定為某個View的背景, 弄個簡單的Activity然後向上遍歷就可以得到這個結論
查閱一些資料都沒有具體分析這個原理, 推測是透過更底層的機制顯示壁紙的...
如果找到相關的分析資料, 麻煩共享下, 感謝 :D