我有这样的线性布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
android:background="@drawable/bgapp" >
我现在需要的是设置背景图像ScaleType
值以便每次填充屏幕的可能性,这是因为我要下载图像然后我将其设置为背景但是如果没有ScaleType,图像将不会根据屏幕密度保持其纵横比。
我发现的是这个解决方案:
<?xml version="1.0" encoding="utf-8"?>
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/bgapp"
android:scaleType="centerCrop"
android:gravity="bottom|left" />
但它没有按预期工作..有没有办法设置LinearLayout
scaleType
属性或我是否需要更改布局?
答案 0 :(得分:12)
视图的背景会根据View
的大小而延伸。
ImageView
支持图片缩放,要与LinearLayout
一起使用,您需要一个额外的容器,它将覆盖2个孩子(例如FrameLayout
):
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/bgapp"
android:scaleType="centerCrop"/>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center_horizontal">
...
</LinearLayout>
</FrameLayout>