2 myq 26 myq_26 于 2013.07.22 17:38 提问

如何只让一个 textview 滚动而不是在整个布局中?

我在 xml 布局中创建了几个布局,在这些布局中有一个 textview,包含一个大的文本。我想问的是如何只设置textview 垂直滚动,而不是整个布局。
xml 布局:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/inner_content"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="@drawable/bg"
  android:orientation="vertical" >

<RelativeLayout
    android:id="@+id/relativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="45dip"
    android:background="@drawable/header"
    android:paddingLeft="2dip"
    android:paddingRight="2dip" >

    <Button
        android:id="@+id/sample_button"
        style="@android:style/Widget.Button.Small"
        android:layout_width="35dip"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="10dip"
        android:background="@drawable/burger" />

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:src="@drawable/home_button" />

    <TextView
        android:id="@+id/breakARTISTNAME"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#FFFFFF" />
</RelativeLayout>

<RelativeLayout
    android:layout_width="250dp"
    android:layout_height="374dp"
    android:layout_marginBottom="6dp"
    android:layout_marginLeft="35dp"
    android:layout_marginTop="20dp"
    android:background="#C71585" >

    <RelativeLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="25dp"
        android:background="@drawable/add_schedule_bg"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/imageButton1"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:paddingTop="3dp"
            android:src="@drawable/add_button" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_toRightOf="@+id/imageButton1"
            android:paddingLeft="10dp"
            android:text="add to my schedual"
            android:textColor="#FFFFFF" />
    </RelativeLayout>

    <ImageView
        android:id="@+id/breakARTISTIMAGE"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/linearLayout1"
        android:layout_marginTop="14dp"
        android:src="@drawable/ic_launcher" />

    //here is the text i need only to be scrollalbe

    <TextView
        android:id="@+id/breakARTISTDESCRIPTION"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/breakARTISTIMAGE"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#FFFFFF" />

    <ImageView
        android:id="@+id/breakARTISTIMAGE2"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_above="@+id/breakARTISTDESCRIPTION"
        android:layout_alignParentRight="true"
        android:src="@drawable/ic_launcher" />
</RelativeLayout>

4个回答

znl_12
znl_12   2013.07.23 17:37
已采纳

试用下下面的方法:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/inner_content"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/bg"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="45dip"
        android:background="@drawable/header"
        android:paddingLeft="2dip"
        android:paddingRight="2dip" >

        <Button
            android:id="@+id/sample_button"
            style="@android:style/Widget.Button.Small"
            android:layout_width="35dip"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="10dip"
            android:background="@drawable/burger" />

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:src="@drawable/home_button" />

        <TextView
            android:id="@+id/breakARTISTNAME"
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#FFFFFF" />
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="250dp"
        android:layout_height="374dp"
        android:layout_marginBottom="6dp"
        android:layout_marginLeft="35dp"
        android:layout_marginTop="20dp"
        android:background="#C71585">

        <RelativeLayout
            android:id="@+id/linearLayout1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="25dp"
            android:background="@drawable/add_schedule_bg"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/imageButton1"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:paddingTop="3dp"
                android:src="@drawable/add_button" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:layout_toRightOf="@+id/imageButton1"
                android:paddingLeft="10dp"
                android:text="add to my schedual"
                android:textColor="#FFFFFF" />
        </RelativeLayout>

        <ImageView
            android:id="@+id/breakARTISTIMAGE"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/linearLayout1"
            android:layout_marginTop="14dp"
            android:src="@drawable/ic_launcher"/>


        <ScrollView
            android:id="@+id/breakSCROLLVIEW"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentBottom="true"
            android:layout_below="@+id/breakARTISTIMAGE">

            <TextView
                android:id="@+id/breakARTISTDESCRIPTION"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#FFFFFF"/>

        </ScrollView>

        <ImageView
            android:id="@+id/breakARTISTIMAGE2"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_above="@+id/breakSCROLLVIEW"
            android:layout_alignParentRight="true"
            android:src="@drawable/ic_launcher"/>
    </RelativeLayout>

</LinearLayout>
Jave_
Jave_   2013.07.22 17:55
textView.setMovementMethod(ScrollingMovementMethod.getInstance());

当然textview要限高

cj6585256
cj6585256   2013.07.22 21:55

也可以在TextView外面套一个ScrollView 设置垂直滚动条

Highning0007
Highning0007   2013.08.02 08:59

在布局那里把TextView换成ViewFlipper,然后在代码里再把TextView添加到ViewFlipper,好好学习一下ViewFlipper的用法。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!