若以图片作为LinearLayout的背景,那么将无法控制LinearLayout的高度和宽度,其尺寸会不受控制的去适应图片的大小,因此采用FrameLayout 配合ImageView添加可控制大小的背景,xml的实现代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/login_main_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/login_bg"
android:orientation="vertical" >
<!-- title bar -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="@dimen/login_title_height" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/login_title_bg" />
<ImageView
android:layout_width="@dimen/login_title_logo_width"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/login_title_logo_marginLeft"
android:src="@drawable/login_logo" />
<!-- android:layout_marginLeft="@dimen/login_title_logo_marginLeft" -->
</FrameLayout>
… …
</LinearLayout>
请注意红色标注部分,不可将"background"换成"src"属性,这样会引发ImageView无法完全填充FrameLayout。