考虑以下布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg1" >
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg2" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<!-- some views here -->
</LinearLayout>
</FrameLayout>
我使用它来bg2
保持bg1
完全bg2
独立,这样我就可以在不影响其他任何东西的情况下对其应用补间 alpha 动画。
bg1
并且bg2
是 XML 可绘制对象。显然,它们应该被缩放到各自视图的尺寸。这通常是这种情况,明确指定它们的尺寸似乎没有多大意义。
不幸的是,在 3/API 11 之前的 Android 版本上,看起来好像大小bg2
为零。也许两阶段布局测量是错误的(注意bg2
应该如何从其父级继承其高度,而后者又需要调整到LinearLayout
高度并将该信息传播到包含的视图bg2
)。或者视图可能不会接受其父级的高度(尽管我尝试ImageView
了它没有改变)。
您看到的布局实际上用于列表中的项目。
XML 可绘制对象是有状态的并使用渐变。
你能想出一种同样适用于 Android API 8 到 10 的方法吗?