我有这个布局,滚动视图与相对布局,我添加了scrollview,因为在较小的设备上,RelativeLayout单独将切断超出屏幕大小的布局部分,因此任何大于屏幕高度的东西都不可见 .
我尝试将RelativeLayout wrap_content添加到高度,但是没有修复它,所以我添加了scrollview,现在显示了整个布局,但是在nexus 4等具有更大屏幕的设备上,Relative Layout延伸到屏幕高度,所以用户必须滚动才能看到底部的textViews .
无论如何我知道问题是这个ImageView有drawable:src = @ drawable / background
这会强制相对布局占用屏幕高度以上,我使用centerCrop作为图像,图像高度为1200,nexus 4的高度为1280,因此ImageView应该适合屏幕,但它会延伸整个布局 . 黑线是屏幕结束的近似,而不是在那一点切割imageView,RelativeLayout在那之后就会出现...
如何确保我的RelativeLayout在分辨率较高的设备上不超过屏幕高度,但在较小的设备上包括滚动内容以适应屏幕高度?目前我必须滚动到所有设备上的底部textViews ..
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@android:color/black"
android:fillViewport="true" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/bg"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingLeft="-20dp"
android:scaleType="centerCrop"
android:src="@drawable/background" />
<ImageView
android:id="@+id/trophystack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:paddingTop="20dp"
android:scaleType="center"
android:src="@drawable/trophystack" />
<LinearLayout
android:id="@+id/llTrophyStackLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical"
android:paddingBottom="20dp"
android:paddingTop="20dp" >
<EditText
android:id="@+id/email_address"
android:layout_width="250dp"
android:layout_height="70dp"
android:layout_marginBottom="2dp"
android:background="@android:color/white"
android:drawableLeft="@drawable/usericon2"
android:fontFamily="sans-serif"
android:gravity="center"
android:hint="user@email.com"
android:inputType="textEmailAddress"
android:minWidth="250dp"
android:tag="login_email" />
<EditText
android:id="@+id/password"
android:layout_width="250dp"
android:layout_height="70dp"
android:background="@android:color/white"
android:drawableLeft="@drawable/lock"
android:gravity="center"
android:hint="********"
android:inputType="textPassword"
android:tag="login_password" />
<Button
android:id="@+id/doLogin"
android:layout_width="250dp"
android:layout_height="70dp"
android:layout_marginTop="20dp"
android:background="@drawable/buttontexture1"
android:minWidth="200dp"
android:onClick="goQueue"
android:text="Sign In"
android:textColor="@android:color/white" />
</LinearLayout>
<TextView
android:id="@+id/forgot_password_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="20dp"
android:layout_marginLeft="20dp"
android:text="Forgot password?"
android:textColor="#FFFFFF"
android:textSize="16dp"
android:textStyle="bold" />
<TextView
android:id="@+id/sign_up_text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="20dp"
android:layout_marginRight="20dp"
android:clickable="true"
android:text="Sign up"
android:textColor="@android:color/white"
android:textSize="19dp"
android:textStyle="bold" />
<TextView
android:id="@+id/sign_up_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="20dp"
android:layout_marginRight="2dp"
android:layout_toLeftOf="@id/sign_up_text2"
android:clickable="true"
android:text="New here?"
android:textColor="@android:color/white"
android:textSize="16dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/sign_up_text"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_below="@id/llTrophyStackLogin"
android:background="#0000"
android:minHeight="50dp"
android:onClick="doSwipe"
android:textColor="@android:color/white" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignRight="@id/forgot_password_text"
android:layout_below="@id/llTrophyStackLogin"
android:background="#0000"
android:minHeight="50dp"
android:onClick="doForgotPassword"
android:textColor="@android:color/white" />
</RelativeLayout>
</ScrollView>
1 回答
删除此行
从
ImageView
并将其设置为RelativeLayout
的背景 .