嗨,大家好,我对android世界很新,我在Android应用程序中遇到了ScrollView的问题。当我将屏幕的方向从纵向更改为横向并且未显示“登录”按钮时,会出现此问题。这可能是由于在布局结束时显示了注册按钮。任何帮助将不胜感激。
login_layout.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:scrollbars="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:layout_weight="1">
<RelativeLayout
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="#ff2b8bff">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sign in"
android:id="@+id/signInButton"
android:background="#fffffbfd"
android:onClick="signIn"
android:layout_below="@+id/usersPassword"
android:layout_centerHorizontal="true"
android:layout_marginTop="52dp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:ems="10"
android:id="@+id/usersEmail"
android:layout_marginTop="31dp"
android:layout_below="@+id/bourguestLogo"
android:layout_centerHorizontal="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/usersPassword"
android:layout_marginTop="35dp"
android:layout_below="@+id/usersEmail"
android:layout_alignStart="@+id/usersEmail" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sign up"
android:id="@+id/signUpButton"
android:onClick="changeLayout"
android:background="#ffff2f14"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bourguestLogo"
android:src="@drawable/waiter"
android:layout_marginTop="88dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
</ScrollView>
答案 0 :(得分:1)
隐藏是因为 margin top &gt;屏幕高度
=&GT; 88 + 31 + 35 + 52 dp>您的屏幕高度(在横向模式下),因此您的按钮将被 SingUpButton (设置在布局底部android:layout_alignParentBottom="true"
)
作为解决方案,请尝试我的建议,否则你应该减少最高边距
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff2b8bff">
<ScrollView
android:scrollbars="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:layout_weight="1">
<RelativeLayout
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff2b8bff">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sign in"
android:id="@+id/signInButton"
android:background="#fffffbfd"
android:onClick="signIn"
android:layout_below="@+id/usersPassword"
android:layout_centerHorizontal="true"
android:layout_marginTop="52dp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:ems="10"
android:id="@+id/usersEmail"
android:layout_marginTop="31dp"
android:layout_below="@+id/bourguestLogo"
android:layout_centerHorizontal="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/usersPassword"
android:layout_marginTop="35dp"
android:layout_below="@+id/usersEmail"
android:layout_alignStart="@+id/usersEmail" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bourguestLogo"
android:src="@drawable/waiter"
android:layout_marginTop="88dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
</ScrollView>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Sign up"
android:id="@+id/signUpButton"
android:onClick="changeLayout"
android:background="#ffff2f14"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true" />
</LinearLayout>