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

问题描述

如何只让一个 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>

解决方案

试用下下面的方法:

<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>

解决方案二:

textView.setMovementMethod(ScrollingMovementMethod.getInstance());

当然textview要限高

解决方案三:

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

解决方案四:

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

时间: 2024-10-05 16:08:10

scrollview-如何只让一个 textview 滚动而不是在整个布局中?的相关文章

跑马灯 remoteviews-RemoteViews 中包含一个TextView 怎样实现跑马灯效果

问题描述 RemoteViews 中包含一个TextView 怎样实现跑马灯效果 RemoteViews 中包含一个TextView 怎样实现跑马灯效果 具体代码如下: 配置文件: <TextView android:id="@+id/txt_trackinfo" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_a

安卓java-怎么只写一个SharedPreferences让它保存多个数据,而不用像下面代码一样写多个SharedPreferences来保存数据

问题描述 怎么只写一个SharedPreferences让它保存多个数据,而不用像下面代码一样写多个SharedPreferences来保存数据 package com.myedit; import android.app.*; import android.os.*; import android.view.*; import android.widget.*; import android.view.View.*; import android.content.*; public class

关于“我有一个好的想法,只差一个程序员”

问题描述 昨天发了一个"寻找有创业梦想的进销存软件开发高手"的帖子,被版主回复了两个链接,链接的标题是"我有一个好的想法,只差一个程序员",链接的内容是各种黑发帖人的,今天本想再讨论一下,结果发现帖子被删了,难道是因为我的回复顶撞了某位版主?诺大个CSDN的版主就这点心胸吗?!原帖:我的回复:关于"我有一个好的想法,只差一个程序员",我想说下自己的看法,不吐不快!首先介绍下我自己:本人一直从事计算机网络系统集成技术工作,算来有十多年了.这十多年来

只讲一个网站制作层面,不讲经营层面

今天我们只讲一个网站制作层面,不讲经营层面.到底需要哪几方人员的配合我们才能做出一个优秀的网站呢?首先给大家定义一下优秀的网站,第一是能符合搜索引擎优化的.第二是能让用户赏心悦目的.第三是能带来交易的.对于中小企业网站来说能做到这三点足可以说是一个优秀的网站了,像这类网站我们一般管它叫营销型网站. 其实我感觉很多老板包括很多建站公司都不怎么明白什么叫营销型网站和企业官网.营销型网站是能带来交易的,而企业官网是展示文化的.比如你去看联想,海尔,华为的网站,标准的一屏半,这种网站不承担销售的任务,只

yii gridview表头固定,只让表体滚动

问题描述 yii gridview表头固定,只让表体滚动 yii gridview表头固定,只让表体滚动 yii gridview表头固定,只让表体滚动 yii gridview表头固定,只让表体滚动 解决方案 @?Page?Language="C#"?AutoEventWireup="true"?CodeFile="Default9.aspx.cs"?Inherits="Default9"?%>DOCTYPE?html

ios-在ISGL3D中,一次只识别一个动作

问题描述 在ISGL3D中,一次只识别一个动作 我目前在开发ISGL3D应用,要求一次只识别一个动作. 比如说,同一时间,只能识别PICNH或者PAN. 不知道应该用什么方法? 解决方案 用下面的方法可以一次只识别一个动作: - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognize

win8双系统怎么设置开机时只开启一个系统?

  win8双系统怎么设置开机时只开启一个系统?           具体方法如下: 1.选择我的电脑,右键-属性,进入页面; 2.选择左上角的高级系统设置; 3.在"高级"下选择三个设置中的最后一个; 4.然后把"显示操作系统列表的时间"的勾去掉,最后点击确定即可.

如何让VC和Delphi程序只运行一个实例

有些时候,我们需要我们的程序只运行一个实例,笔者自己作程序也有这样的情况,于是自已探究一番.忙活一阵后,总算小有收获,不敢独享,在天极发表出来,供大家参考. 既然是从根本上解决问题,对于Windows程序而言,就从WinMain函数入口,这是因为在VC中使用SDK的方式编写程序最透明,并且WinMain是作为VC编译器生成EXE文件的默认入口函数. WinMain的函数原型: int WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, L

如何使应用程序只运行一个实例

要使应用程序只运行一个实例,一个简单的方法是在应用程序类中使用互斥量,这可以用VC下的GUIDGEN.EXE程序产生.GUIDGEN.EXE位于VC安装目录CommonTools目录下 实例 1: 新建一基于对话框的工程ex1,采用默认设置 2: 用GUIDGEN.EXE产生一个全局标志,#define one "产生的全局标志" 本例中产生的语句如下:#define one "0xbe8e2ce1, 0xdab6, 0x11d6, 0xad, 0xd0, 0x0, 0xe0