在我的Android项目,我不太知道如何使我的背景图片填充的全部RelativeLayout
在XML根元素,它是屏幕的大小。 我要确保这适用于所有的纵横比,因此图像会水平或垂直夹是必要的。 是否有人知道如何轻松地做到这一点? 我只看到有关问题ImageView
S和Button
S,但没有真正的通用View
秒。
目前我的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/enclosing_rl"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
android:fitsSystemWindows="false">
<!-- Other elements -->
</RelativeLayout>
除了把你的图像分成九个补丁,我不认为这是可能的。 你可以做的反而是增加一个ImageView的在你的RelativeLayout第一种观点。 设置layout_centerInParent为真,并有layout_width和layout_height设置为match_parent。 然后设置scaleType到centerCrop。 这将确保图像填满整个屏幕没有任何失真,但根据屏幕尺寸/方位为一些顶部/底部或图像的左/右的可能会被切掉。
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:scaleType="centerCrop"
android:src="@drawable/background" />
在RelativeLayout的任何其他视图将出现在ImageView的顶部,只要它是在RelativeLayout的第一个视图(当你在XML)。
创建你的资源/文件夹中绘制一个位图绘制XML资源:
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/background"
android:tileMode="repeat" />
使用可绘制作为背景,而不是@绘制/背景
根据这个答案如果你希望你ImageView
填补你RelativeLayout
,使用align
参数ImageView
。
你可以把你的视图到LinearLayout
,并设置align
参数到你的背景ImageView
:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/my_background"
android:scaleType="centerCrop"
android:layout_alignTop="@+id/my_views"
android:layout_alignBottom="@+id/my_views"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/my_views"
android:orientation="vertical" >
<!-- stuff -->
</LinearLayout>
</RelativeLayout>
其智能和100%的工作答案是设置图像视图的财产scaleType!
android:scaleType="fitCenter"