两个线性布局中的滚动视图?

Posted

技术标签:

【中文标题】两个线性布局中的滚动视图?【英文标题】:Scrollview in two Linearlayouts? 【发布时间】:2017-12-09 15:09:33 【问题描述】:

我的Activity 中有4 个TextViews,我正在使用垂直方向的LinearLayout。前一个TextView 是一种标题(无需滚动),下一个是我想要使其可滚动的某种描述。第三个是标题(不需要滚动),第四个是描述(需要滚动)。 我试过了,但屏幕上只显示了顶部TextView(标题)和第二个TextView(描述)。描述是可滚动的,但问题是,其他两个TextView 被隐藏了。 这是一个愚蠢的问题,但我有点卡在这里,因为我是安卓新手。这是我的xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_view"
android:layout_
android:layout_
android:layout_marginTop="?android:attr/actionBarSize"
android:orientation="vertical"
android:padding="15dp"

>

<LinearLayout
    android:layout_
    android:layout_
    android:background="#d0f7c9"
    android:orientation="vertical"
    android:padding="10dp"

    >

    <TextView
        android:id="@+id/tvTitle"
        style="?android:attr/listSeparatorTextViewStyle"
        android:layout_
        android:layout_
        android:layout_gravity="center"
        android:textColor="#ffffff"
        android:textSize="20dp" />

</LinearLayout>


<ScrollView
    android:layout_
    android:layout_
    android:fillViewport="true">

    <LinearLayout
        android:layout_
        android:layout_
        android:background="#b3cff4"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tvShow"
            android:layout_
            android:layout_
            android:textColor="@color/black"
            android:textSize="20dp" />
    </LinearLayout>
</ScrollView>


<TextView
    android:layout_
    android:layout_
    android:text="Program Output"
    android:textColor="@color/black"
    android:textSize="25dp" />


<ScrollView
    android:layout_
    android:layout_>

    <LinearLayout
        android:layout_
        android:layout_
        android:background="#d2b3f4">

        <TextView
            android:id="@+id/tvOutput"
            android:layout_
            android:layout_
            android:textColor="#ffffff"
            android:textSize="20dp" />

    </LinearLayout>

</ScrollView>

【问题讨论】:

【参考方案1】:

你可以这样试试,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_
              android:layout_
              android:orientation="vertical"
              android:weightSum="2">

    <LinearLayout
        android:layout_
        android:layout_
        android:layout_weight="1"
        android:background="#d0f7c9"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tvTitle"
            style="?android:attr/listSeparatorTextViewStyle"
            android:layout_
            android:layout_
            android:layout_gravity="center"
            android:text="Top Title"
            android:textColor="#ffffff"
            android:textSize="20dp"/>

        <ScrollView
            android:layout_
            android:layout_
            android:background="#b3cff4">

            <TextView
                android:id="@+id/tvShow"
                android:layout_
                android:layout_
                android:textSize="20dp"/>
        </ScrollView>
    </LinearLayout>

    <LinearLayout
        android:layout_
        android:layout_
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tvTitle1"
            style="?android:attr/listSeparatorTextViewStyle"
            android:layout_
            android:layout_
            android:layout_gravity="center"
            android:text="Seconf Title"
            android:textColor="#ffffff"
            android:textSize="20dp"/>

        <ScrollView
            android:layout_
            android:layout_
            android:background="#b3cff4">

            <TextView
                android:id="@+id/tvShow1"
                android:layout_
                android:layout_
                android:textSize="20dp"/>
        </ScrollView>
    </LinearLayout>

</LinearLayout>

【讨论】:

你成就了我的一天。谢谢【参考方案2】:

我可能会这样做的方式是创建两个布局。一个是数字 1 和 2 文本视图。另一个布局是 3 和 4。然后在第一个布局中,包括第二个。

<include layout="@layout/layout2"/>

类似的东西。 布局一个

<linearlayout>
<text view>
<linearlayout>
<scrollview>
<textview>
</scrollview>
</linearlayout>

<include layout="@layout/layout2"/>

</linearlayout>

布局二

   <linearlayout>
    <text view>
    <linearlayout>
    <scrollview>
    <textview>
    </scrollview>
    </linearlayout>   
    </linear layout>

【讨论】:

以上是关于两个线性布局中的滚动视图?的主要内容,如果未能解决你的问题,请参考以下文章

拆分滚动视图使其伸展一半的屏幕,但它忽略了布局重量

将编程创建的视图垂直添加到滚动视图中(iOS 中的线性布局)

ImageView 未在滚动视图内的线性布局中显示

列表视图滚动时在屏幕底部隐藏线性布局

线性布局或滚动视图被推离屏幕

如何实现在动态布局中添加更多视图在android中实现滚动视图