如何使TextView可滚动?(Android)

时间:2014-04-19 20:04:20

标签: android android-layout textview scrollview relativelayout

我尝试过制作TextView的ScrollView父级,但后来我也在这个RelativeLayout上设置了背景图像,它给我一个错误说:"这个ScrollView布局或它的RelativeLayout父版本是无用的;将background属性转移到另一个视图"。 如果我让ScrollView成为RelativeLayout的父级,它会拉伸背景图像,这是我不想要的。 这是我的xml代码:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/hp_instr" >

<ScrollView android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="@string/instr"
    android:textColor="#FFFFFF"
    android:textAppearance="?android:attr/textAppearanceLarge" />
</ScrollView>

</RelativeLayout>

3 个答案:

答案 0 :(得分:2)

ScrollView只需要 一个包含其他子视图的子ViewGroup。正如你的提示所说的那样:&#34;父亲RelativeLayout确实无用&#34; ,因为现在你只能拥有ScrollView并将其设置为背景:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/hp_instr" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:text="@string/instr"
            android:textColor="#FFFFFF"
            android:textAppearance="?android:attr/textAppearanceLarge" />

    </LinearLayout>

</ScrollView>

注意:最后要知道的是,当您使用ScrollView时,子ViewGroup(LinearLayout,RelativeLayout,TableLayout等等)必须将其高度声明为{{1}因为高度因其内容而扩大(wrap_content相同但宽度相同)。

答案 1 :(得分:1)

<ScrollView  xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/hp_instr" >


<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="@string/instr"
    android:textColor="#FFFFFF"
    android:textAppearance="?android:attr/textAppearanceLarge" />


</RelativeLayout>

答案 2 :(得分:0)

您需要先放置滚动视图( xml-tag 下方) layout_width和height to fill_parent ,您的relativelayout可以匹配_parent。

我希望这个解决方案能为您提供帮助。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">

  <RelativeLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/hp_instr" >

    <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_alignParentLeft="true"
      android:layout_alignParentRight="true"
      android:layout_alignParentTop="true"
      android:text="@string/instr"
      android:textColor="#FFFFFF"
      android:textAppearance="?android:attr/textAppearanceLarge" />

  </RelativeLayout>
</ScrollView>