背景图片没有填充Linearlayout并更改了大小
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@mipmap/dashboard_background"
android:orientation="vertical"
android:padding="10dp">
理想的外观是
我该怎么做到?
答案 0 :(得分:2)
背景始终会拉伸到其View
大小。因此,您无法真正控制它的外观。取而代之的是,将ImageView
作为布局中的最底元素(意味着它将放置在其他所有元素之下),并使用背景图像作为此src
的来源(ImageView
) ,这样您就可以使用scaleType
控制背景的外观(可能要使用centerCrop
或fitCenter
)。有关scaleType
here的更多信息。
最后,您的布局应如下所示:
<?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:scaleType="fitCenter"
android:src="@mipmap/dashboard_background" />
<FrameLayout
android:id="@+id/content_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Put your view elements here -->
</FrameLayout>
</FrameLayout>
答案 1 :(得分:2)
您应该使用内部带有imageview和linearlayout的框架布局
<FrameLayout
android:id="@+id/FrameLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/background"/>
<LinearLayout
---Your Layout---
</LinearLayout>