我正在开发一个应用程序,我需要用背景填充整个屏幕,此视图包含一个滚动视图。问题是背景不覆盖整个屏幕,底部有白色条纹,如下图所示。
我已经尝试了很多scaleType选项,比如fitXY,centerInside等等。 我的XML在下面。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<android.support.constraint.ConstraintLayout
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/signup_background" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="40dp">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/image_view_photo"
android:layout_width="130dp"
android:layout_height="130dp"
android:layout_gravity="center"
android:layout_marginBottom="25dp"
android:src="@drawable/camera_icon" />
<android.support.v7.widget.AppCompatEditText
android:id="@+id/edit_text_name"
style="@style/BaseEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/name_icon"
android:hint="@string/field_name"
android:inputType="textCapWords" />
<android.support.v7.widget.AppCompatEditText
android:id="@+id/edit_text_email"
style="@style/BaseEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/email_icon"
android:hint="@string/field_email"
android:inputType="textEmailAddress" />
<android.support.v7.widget.AppCompatEditText
android:id="@+id/edit_text_password"
style="@style/BaseEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/password_icon"
android:hint="@string/field_password"
android:inputType="textPassword" />
<android.support.v7.widget.AppCompatEditText
android:id="@+id/edit_text_confirm_password"
style="@style/BaseEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="35dp"
android:drawableLeft="@drawable/password_icon"
android:hint="@string/field_confirm_password"
android:inputType="textPassword" />
<com.jacksonueda.reachalert.Utils.LoadingButton
android:id="@+id/btn_signup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="@string/action_sign_up" />
</LinearLayout>
</android.support.constraint.ConstraintLayout>
</ScrollView>
任何人都可以帮助我吗?感谢。
答案 0 :(得分:0)
我认为您必须提供宽度为ConstraintLayout
的{{1}}的背景信息。同时为wrap_content
和ConstraintLayout ScrollView
设置高度。
答案 1 :(得分:0)
在约束布局中,您必须指定约束。您在ImageView中没有指定的约束
xlInsertDeleteCells
将其替换为
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/signup_background" />
答案 2 :(得分:0)
尝试在xml中使用 RelativeLayout
而不是ConstraintLayout
。相对布局最适合重叠xml的两个元素。
答案 3 :(得分:0)
我得到了答案,我需要做的是将RelativeLayout作为ScrollView的父级,如下所示。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/signup_background"
android:orientation="vertical"
android:padding="40dp">
...
</LinearLayout>
</ScrollView>
</RelativeLayout>