我有一个drawable需要作为背景。它需要拉伸以填满屏幕(忽略纵横比)。
我已经为ldpi、mdpi、hdpi和xhdpi提供了适当的大小。(我知道它们是适当的,因为相应宽度和高度的比率是正确的。)
我尝试过以下方法:在imageView上使用scaleType:fitXY。但这会在imageView周围留下白色边缘(内部?)。
一种解决方法是使用中心点比例,如下所示。但我并不满意,因为在平板电脑屏幕上问题仍然存在。
注意:
- 正如您可能已经注意到的那样,我已经在Stack Overflow上尝试了其他建议的修复方法,例如将Adjust View Boundaries设置为true。但它们在这里没有帮助。 - 我想要一个非编程的答案/修复方法,即在XML本身中完成此操作。我真的不想编写代码来设置背景图像;生活应该比那更简单。(:P)
更新1:
下面是XML布局。
我已经为ldpi、mdpi、hdpi和xhdpi提供了适当的大小。(我知道它们是适当的,因为相应宽度和高度的比率是正确的。)
我尝试过以下方法:在imageView上使用scaleType:fitXY。但这会在imageView周围留下白色边缘(内部?)。
一种解决方法是使用中心点比例,如下所示。但我并不满意,因为在平板电脑屏幕上问题仍然存在。
注意:
- 正如您可能已经注意到的那样,我已经在Stack Overflow上尝试了其他建议的修复方法,例如将Adjust View Boundaries设置为true。但它们在这里没有帮助。 - 我想要一个非编程的答案/修复方法,即在XML本身中完成此操作。我真的不想编写代码来设置背景图像;生活应该比那更简单。(:P)
更新1:
下面是XML布局。
<merge xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" -->
<!-- xmlns:tools="http://schemas.android.com/tools" -->
<!-- android:id="@+id/FrameLayout1" -->
<!-- android:layout_width="fill_parent" -->
<!-- android:layout_height="fill_parent" -->
<!-- tools:context=".SplashScreen" > -->
<!--
This FrameLayout insets its children based on system windows using
android:fitsSystemWindows
-->
<View
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick="onClickTapToContinue"
>
</View>
<ImageView
android:id="@+id/bg_gradient"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="fill"
android:adjustViewBounds="true"
android:contentDescription="@string/this_is_the_background_image"
android:scaleType="center"
android:src="@drawable/bg_gradient" />
<ImageView
android:id="@+id/bg_artwork"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:contentDescription="@string/artwork_man"
android:src="@drawable/bg_artwork" />
<!-- </FrameLayout> -->
<ImageView
android:id="@+id/branding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|top"
android:adjustViewBounds="true"
android:contentDescription="@string/branding_text"
android:maxHeight="95dp"
android:paddingTop="5dp"
android:src="@drawable/title_wlcm" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
android:paddingBottom="5dp"
android:text="@string/tap_continue"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@android:color/white" />
</merge>
android:background="@drawable/bg_gradient"
,并将layout_width
和layout_height
设置为"match_parent"
,为父级LinearLayout添加背景。 - Piyush Agarwal