我正在尝试显示一个静态背景图片(一种应用程序的背景)并且发现这可以通过在我的FrameLayout中使用“android:background”选项或在onDraw()方法中完成这是通过每个条目的canvas.drawBitmap()来完成的。
有人可以解释一下使用这些方法与提供更好性能的区别吗?
TIA
答案 0 :(得分:2)
<resources>
<style parent="android:Theme.NoTitleBar" name="Theme.BG">
<item name="android:windowBackground">@drawable/background_image</item>
</style>
</resources>
我用这个属性编写了一个样式,并通过清单应用于整个应用程序。 我扩展了NoTitleTheme,你可以扩展android中的任何默认主题
<application android:theme="@style/Theme.BG" android:label="@string/app_name"
android:icon="@drawable/app_iconicon">
这是将背景应用于整个应用的最有效方式..
为每个Framelayout设置背景意味着编写更多代码。在onDraw中执行此操作需要您扩展视图或任何其他组件。您可以通过这些方法设置背景,但仍会绘制应用程序的窗口背景。但是当你像上面那样设置窗口backgorund时,不会绘制默认背景,并且可能会节省编写更多代码的复杂性。