您好我已将所有UI元素放在相对布局中,然后将相对布局放在scrollview中以实现屏幕滚动。但布局不是在横向模式下滚动。我在这里错过了什么。任何想法?
谢谢, P
更新:视图也不会在potrait模式下滚动。我添加了一些额外的UI元素,视图也不在此模式下滚动。我正在使用Nexus 6P手机进行测试。
这是xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="layout.LoginFragment"
android:fillViewport="true"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="92dp"
android:layout_height="92dp"
android:id="@+id/imageView"
android:layout_marginLeft="37dp"
android:layout_marginStart="37dp"
android:src="@mipmap/ic_logo"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="41dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/login_hello"
android:id="@+id/login_tv1"
android:fontFamily="Roboto"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="20dp"
android:layout_alignTop="@+id/imageView"
android:layout_toRightOf="@+id/imageView"
android:layout_toEndOf="@+id/imageView"
android:layout_marginLeft="25dp"
android:layout_marginTop="25dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/login_text"
android:id="@+id/login_tv2"
android:fontFamily="Roboto"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginTop="25dp"
android:layout_alignBottom="@+id/imageView"
android:layout_alignLeft="@+id/login_tv1"
android:layout_alignTop="@+id/login_tv1" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:ems="10"
android:id="@+id/username_et"
android:fontFamily="Roboto"
android:layout_centerVertical="true"
android:hint="@string/login_username"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:textColor="#000000"
android:layout_alignLeft="@+id/imageView"
android:layout_alignStart="@+id/imageView"
android:textColorHint="#000000"
android:textSize="18dp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:width="50dp"
android:ems="10"
android:id="@+id/password_et"
android:layout_below="@+id/username_et"
android:layout_alignLeft="@+id/username_et"
android:layout_alignStart="@+id/username_et"
android:layout_marginTop="33dp"
android:layout_alignRight="@+id/username_et"
android:layout_alignEnd="@+id/username_et"
android:password="true"
android:hint="@string/login_password"
android:fontFamily="Roboto"
android:textColorHint="#000000"
android:textSize="18dp" />
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rememberme_switch"
android:layout_below="@+id/password_et"
android:layout_alignLeft="@+id/password_et"
android:layout_alignStart="@+id/password_et"
android:layout_marginTop="53dp"
android:layout_alignRight="@+id/password_et"
android:layout_alignEnd="@+id/password_et"
android:hint="@string/remember_me"
android:textOff="@string/off"
android:textOn="@string/on"
android:textSize="18dp"
android:clickable="true"
android:checked="false"
android:showText="true"
android:enabled="true"
android:focusable="true"
android:trackTint="#000000"
android:textColorLink="#000000"
android:textColorHint="#000000" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/help"
android:id="@+id/help_button"
android:background="@android:color/transparent"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_below="@+id/rememberme_switch"
android:layout_alignStart="@+id/rememberme_switch"
android:layout_marginTop="34dp"
android:textSize="18dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/login"
android:id="@+id/login_button"
android:layout_marginEnd="32dp"
android:background="@android:color/transparent"
style="?android:attr/borderlessButtonStyle"
android:layout_alignTop="@+id/help_button"
android:layout_alignEnd="@+id/rememberme_switch"
android:textSize="18dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/error_tv"
android:textColor="#f92626"
android:fontFamily="Roboto"
android:textSize="16dp"
android:layout_below="@+id/password_et"
android:layout_alignStart="@+id/password_et"
android:layout_alignEnd="@+id/login_button" />
</RelativeLayout>
</ScrollView>`
答案 0 :(得分:0)
我刚测试了一个类似的布局,它滚动得很好。 scrollview中的内容需要大于滚动条显示的屏幕大小。或者您可以设置滚动视图的大小,只要内部的内容更大,它就会滚动。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="layout.LoginFragment"
android:fillViewport="true"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add a lot of text here so the text will fill page and scroll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
android:textSize="20dp" />
</RelativeLayout>