我想制作可滚动的布局,因为我的TextView有很长的文字。我搜索并找到了一些解决方案,比如在RelativeLayout中创建一个ScrollView并在那里创建另一个RelativeLayout。并改变了我的xml代码。但什么都没发生。
这是我的xml代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.arsh.fina.IntroActivity">
<include layout="@layout/content"/>
<ScrollView
android:layout_marginTop="55dp"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="55dp">
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:adjustViewBounds="true"
app:srcCompat="@drawable/surv1"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_below="@+id/imageView3"
android:layout_marginTop="20dp"
android:textColor="#FFFFFF"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A VERY
VERY
VERy
VERY TEXT"/>
</RelativeLayout>
</ScrollView>
<android.support.v4.widget.DrawerLayout
android:id="@+id/a1"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_marginTop="55dp">
<android.support.design.widget.NavigationView
android:id="@+id/a2"
android:layout_gravity="right"
android:layout_height="match_parent"
android:layout_width="180dp"
app:headerLayout="@layout/header"
app:menu="@menu/drawer"/>
</android.support.v4.widget.DrawerLayout>
</RelativeLayout>
我哪里出错了?
答案 0 :(得分:1)
为了使垂直布局可滚动,其layout_height必须为“wrap_content”。如果你将它设置为“match_parent”,布局将始终与父级一样高,并且没有任何内容可以滚动到因为android将它已经完全可见。
更改为
<ScrollView
android:layout_marginTop="55dp"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="55dp">
当然,水平布局也是如此,但是它的layout_width必须是“wrap_content”。您的布局没有设置方向,因此默认情况下它将是水平的。