首頁  >  問答  >  主體

ui - Android Activity theme是作用于哪个View?

一个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,并获取这个壁纸实例(也就是这个壁纸)呢?

阿神阿神2712 天前501

全部回覆(3)我來回復

  • ringa_lee

    ringa_lee2017-04-17 17:50:23

    getWindow().getDecorView();這個

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 17:50:23

    每個activity都需要setContentView 這個View就是.
    但這跟theme無關. theme是作用於Activity的, 並不會直接影響View

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 17:50:23

    原理不是把壁紙設定為某個View的背景, 弄個簡單的Activity然後向上遍歷就可以得到這個結論

    查閱一些資料都沒有具體分析這個原理, 推測是透過更底層的機制顯示壁紙的...
    如果找到相關的分析資料, 麻煩共享下, 感謝 :D

    回覆
    0
  • 取消回覆