myq_26
2013-07-22 09:38
采纳率: 80%
浏览 3.1k

如何只让一个 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 2013-07-23 09: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>
    
    已采纳该答案
    打赏 评论
  • JaveZh 2013-07-22 09:55
    textView.setMovementMethod(ScrollingMovementMethod.getInstance());
    

    当然textview要限高

    打赏 评论
  • 码密码密哄 2013-07-22 13:55

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

    打赏 评论
  • 蒙双眼看世界 2013-08-02 00:59

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

    打赏 评论

相关推荐 更多相似问题