ScrollView无法在LinearLayout中工作

时间:2016-12-12 06:39:13

标签: android-layout android-scrollview

我正在尝试将一个linearLayout放在ScrollView中,但它不起作用。

这是我的代码,

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


<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"
android:scrollbars="vertical"
android:background="@color/listChild"
android:layout_height="match_parent">


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingTop="40dp"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:layout_gravity="center_horizontal"
    android:id="@+id/content_layout">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:weightSum="5"
        android:gravity="center">

        <LinearLayout
            android:layout_width="wrap_content"
            android:orientation="vertical"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="5dp">


        <ImageView
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:src="@mipmap/ic_launcher"
            android:id="@+id/alphabet_icon"
            android:layout_weight="1" />


        </LinearLayout>


        <TextView
            android:text="TextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/word_text"
            android:layout_weight="3"
            android:gravity="center" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:orientation="vertical"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="5dp">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:src="@drawable/share_button"
                android:id="@+id/share_button"
                android:layout_weight="1"
                android:layout_marginTop="5dp"
                android:layout_marginBottom="5dp" />

            <ImageView
            android:layout_width="match_parent"
            android:src="@drawable/save_new_icon"
            android:layout_weight="1"
            android:id="@+id/save_button"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp"
            android:layout_height="match_parent" />


        </LinearLayout>


    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/white"
        android:layout_marginTop="20dp"
        android:weightSum="5"
        android:gravity="center"
        android:orientation="vertical">


        <LinearLayout
            android:layout_width="match_parent"
            android:orientation="horizontal"
            android:weightSum="5"
            android:layout_height="wrap_content">


        <TextView
            android:text="Pronunciation"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_marginBottom="30dp"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="10dp" />


            <ImageView
                android:src="@drawable/speak_icon_2"
                android:layout_weight="4"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/speak_button"
                android:scaleType="fitCenter" />


        </LinearLayout>


        <TextView
            android:text="TextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:padding="10dp"
            android:id="@+id/pronounciation_text" />




    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/white"
        android:layout_marginTop="20dp"
        android:weightSum="5"
        android:gravity="center"
        android:orientation="vertical">


        <TextView
            android:text="Type of Word"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/textView4"
            android:layout_weight="3"
            android:layout_marginBottom="30dp"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="10dp" />

        <TextView
            android:text="type"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:padding="10dp"
            android:id="@+id/type_text" />


    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:layout_marginTop="20dp"
        android:weightSum="5"
        android:gravity="center"
        android:orientation="vertical">


        <TextView
            android:text="Hindi Meaning"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:layout_marginBottom="30dp"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="10dp" />

        <TextView
            android:text="textview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:padding="10dp"
            android:id="@+id/hindi_text" />


    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:layout_marginTop="20dp"
        android:weightSum="5"
        android:gravity="center"
        android:orientation="vertical">


        <TextView
            android:text="English Meaning"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/textView5"
            android:layout_weight="3"
            android:layout_marginBottom="30dp"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="10dp" />

        <TextView
            android:text="TextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:padding="10dp"
            android:id="@+id/english_meaning" />


    </LinearLayout>



</LinearLayout>

</ScrollView>

另外,我在viewPager中的片段中使用此布局。问题是布局不滚动。

布局应该如下所示,

enter image description here

有人能弄明白我还缺什么或做错了什么。 如果有人知道滚动布局的更好方法,请告诉...

2 个答案:

答案 0 :(得分:0)

ScrollView是一个“无限”容器。它只能知道如果可以正确计算其内容的高度,你可以滚动多远。

目前,您的LinearLayout高度设置为match_parent。这将导致LinearLayout永远不会超过ScrollView的高度,从而剪切所有子视图。

对于一个非常简单的解决方案,这是一个很长的解释:将layout_height的{​​{1}}设置为LinearLayout

答案 1 :(得分:0)

就我而言,我只是使用

  

android:fillViewport =“ true”

内部滚动视图标签..这对我有用 例如

<button type="button" data-toggle="modal" data-target="#viewModal" style="display:none;" id="modalHiddenCallBtn"></button>