Scrollview不起作用用于多个布局

时间:2019-01-24 09:05:43

标签: android android-layout scrollview android-scrollview

我想滚动我的仪表板屏幕,但是我无法做到这一点。

这是我的仪表板屏幕XML

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

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

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:fillViewport="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:weightSum="4">


            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="2.2"
                android:orientation="vertical">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_marginLeft="@dimen/dp10"
                    android:layout_marginTop="@dimen/dp10"
                    android:layout_marginRight="@dimen/dp10"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_layout_white"
                    android:orientation="horizontal"
                    android:padding="@dimen/dp20">


                    <LinearLayout
                        android:id="@+id/ll_current_value"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="0.99"
                        android:orientation="vertical"

                        >

                        <TextView
                            android:id="@+id/lbl_investment_value"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_marginLeft="@dimen/dp5"
                            android:layout_weight="0.49"
                            android:background="@drawable/rounded_layout_blue"
                            android:gravity="center|top"
                            android:padding="@dimen/dp4"
                            android:text="@string/str_investment_value"
                            android:textColor="@color/colorWhite"
                            android:textSize="@dimen/dp18" />

                        <TextView
                            android:id="@+id/tv_investment_value"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="0.39"
                            android:gravity="center|top"
                            android:padding="@dimen/dp5"
                            android:text="@string/investment_Rs"
                            android:textColor="@color/colorLightBlue"
                            android:textSize="@dimen/dp18" />

                    </LinearLayout>


                    <View
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_marginLeft="@dimen/dp5"
                        android:layout_weight="0.01"
                        android:background="@color/colorLightBlue" />

                    <LinearLayout
                        android:id="@+id/ll_investment_value"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="0.99"
                        android:orientation="vertical"

                        >

                        <TextView
                            android:id="@+id/lbl_current_value"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_marginLeft="@dimen/dp10"
                            android:layout_weight="0.49"
                            android:background="@drawable/rounded_layout_blue"
                            android:gravity="center|top"
                            android:padding="@dimen/dp4"
                            android:text="@string/str_current_value"
                            android:textColor="@color/colorWhite"
                            android:textSize="@dimen/dp18" />

                        <TextView
                            android:id="@+id/tv_current_value"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="0.39"
                            android:gravity="center"
                            android:padding="@dimen/dp5"
                            android:text="@string/current_Rs"
                            android:textColor="@color/colorLightBlue"
                            android:textSize="@dimen/dp18" />

                    </LinearLayout>

                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_marginLeft="@dimen/dp10"
                    android:layout_marginTop="@dimen/dp10"
                    android:layout_marginRight="@dimen/dp10"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_layout_white"
                    android:orientation="horizontal"
                    android:padding="@dimen/dp20">


                    <LinearLayout
                        android:id="@+id/ll_ret_rbs"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="0.99"
                        android:orientation="vertical"

                        >

                        <TextView
                            android:id="@+id/lbl_ret_rbs"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="0.49"
                            android:background="@drawable/rounded_layout_blue"
                            android:gravity="center|top"
                            android:padding="@dimen/dp4"
                            android:text="@string/str_ret_abs"
                            android:textColor="@color/colorWhite"
                            android:textSize="@dimen/dp18" />

                        <TextView
                            android:id="@+id/tv_ret_rbs"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="0.39"
                            android:gravity="center|top"
                            android:padding="@dimen/dp5"
                            android:text="@string/ret_abs_Rs"
                            android:textColor="@color/colorLightBlue"
                            android:textSize="@dimen/dp18" />
                    </LinearLayout>


                    <View
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_marginLeft="@dimen/dp5"
                        android:layout_weight="0.01"
                        android:background="@color/colorLightBlue" />

                    <LinearLayout
                        android:id="@+id/ll_wet_cagr"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="0.99"
                        android:orientation="vertical"

                        >

                        <TextView
                            android:id="@+id/lbl_wet_cagr"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_marginLeft="@dimen/dp5"
                            android:layout_weight="0.49"
                            android:background="@drawable/rounded_layout_blue"
                            android:gravity="center|top"
                            android:padding="@dimen/dp4"
                            android:text="@string/str_wet_CAGR"
                            android:textColor="@color/colorWhite"
                            android:textSize="@dimen/dp18" />

                        <TextView
                            android:id="@+id/tv_wet_cagr"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="0.39"
                            android:gravity="center|top"
                            android:padding="@dimen/dp5"
                            android:text="@string/ret_wet_Rs"
                            android:textColor="@color/colorLightBlue"
                            android:textSize="@dimen/dp18" />
                    </LinearLayout>

                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_marginLeft="@dimen/dp10"
                    android:layout_marginTop="@dimen/dp10"
                    android:layout_marginRight="@dimen/dp10"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_layout_white"
                    android:orientation="horizontal"
                    android:padding="@dimen/dp20">


                    <LinearLayout
                        android:id="@+id/ll_long_term"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="0.99"
                        android:orientation="vertical"

                        >

                        <TextView
                            android:id="@+id/lbl_short_term"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_marginLeft="@dimen/dp5"
                            android:layout_weight="0.49"
                            android:background="@drawable/rounded_layout_blue"
                            android:gravity="center|top"
                            android:padding="@dimen/dp4"
                            android:text="@string/str_short_term"
                            android:textColor="@color/colorWhite"
                            android:textSize="@dimen/dp18" />

                        <TextView
                            android:id="@+id/tv_short_term"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="0.39"
                            android:gravity="center|top"
                            android:padding="@dimen/dp5"
                            android:text="@string/ret_wet_Rs"
                            android:textColor="@color/colorLightBlue"
                            android:textSize="@dimen/dp18" />
                    </LinearLayout>


                    <View
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_marginLeft="@dimen/dp5"
                        android:layout_weight="0.01"
                        android:background="@color/colorLightBlue" />

                    <LinearLayout
                        android:id="@+id/ll_short_term"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="0.99"
                        android:orientation="vertical"

                        >

                        <TextView
                            android:id="@+id/lbl_long_Term"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_marginLeft="@dimen/dp5"
                            android:layout_weight="0.49"
                            android:background="@drawable/rounded_layout_blue"
                            android:gravity="center|top"
                            android:padding="@dimen/dp4"
                            android:text="@string/str_long_term"
                            android:textColor="@color/colorWhite"
                            android:textSize="@dimen/dp18" />

                        <TextView
                            android:id="@+id/tv_long_Term"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="0.39"
                            android:gravity="center|top"
                            android:padding="@dimen/dp5"
                            android:text="@string/ret_abs_Rs"
                            android:textColor="@color/colorLightBlue"
                            android:textSize="@dimen/dp18" />

                    </LinearLayout>

                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_marginLeft="@dimen/dp10"
                    android:layout_marginTop="@dimen/dp10"
                    android:layout_marginRight="@dimen/dp10"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_layout_white"
                    android:orientation="horizontal"
                    android:padding="@dimen/dp20">


                    <LinearLayout
                        android:id="@+id/ll_dividend"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="0.99"
                        android:orientation="vertical"

                        >

                        <TextView
                            android:id="@+id/lbl_dividend"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="0.49"
                            android:background="@drawable/rounded_layout_blue"
                            android:gravity="center|top"
                            android:padding="@dimen/dp4"
                            android:text="@string/str_dividend"
                            android:textColor="@color/colorWhite"
                            android:textSize="@dimen/dp18" />

                        <TextView
                            android:id="@+id/tv_dividend"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="0.39"
                            android:gravity="center|top"
                            android:padding="@dimen/dp5"
                            android:text="@string/ret_abs_Rs"
                            android:textColor="@color/colorLightBlue"
                            android:textSize="@dimen/dp18" />
                    </LinearLayout>


                    <View
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_marginLeft="@dimen/dp5"
                        android:layout_weight="0.01"
                        android:background="@color/colorLightBlue" />

                    <LinearLayout
                        android:id="@+id/ll_equity"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="0.99"
                        android:orientation="vertical"

                        >

                        <TextView
                            android:id="@+id/lbl_liquid"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_marginLeft="@dimen/dp5"
                            android:layout_weight="0.49"
                            android:background="@drawable/rounded_layout_blue"

                            android:gravity="center|top"
                            android:padding="@dimen/dp4"
                            android:text="@string/str_liquid"
                            android:textColor="@color/colorWhite"
                            android:textSize="@dimen/dp18" />

                        <TextView
                            android:id="@+id/tv_liquid"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="0.39"
                            android:gravity="center|top"
                            android:padding="@dimen/dp5"
                            android:text="@string/ret_wet_Rs"
                            android:textColor="@color/colorLightBlue"
                            android:textSize="@dimen/dp18" />
                    </LinearLayout>

                </LinearLayout>


            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_marginLeft="@dimen/dp10"
                android:layout_marginTop="@dimen/dp20"
                android:layout_marginRight="@dimen/dp10"
                android:layout_weight="0.8"
                android:background="@drawable/rounded_layout_white"
                android:orientation="vertical">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_gravity="center"
                    android:layout_weight="0.55"
                    android:gravity="center"
                    android:padding="@dimen/dp5"
                    android:text="@string/str_nature_wise_summary"
                    android:textColor="@color/colorBlack"
                    android:textSize="@dimen/dp15"
                    android:textStyle="bold" />

                <View
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/dp2"
                    android:layout_margin="@dimen/dp5"
                    android:background="@color/colorGray" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_marginLeft="@dimen/dp10"
                    android:layout_marginTop="@dimen/dp10"
                    android:layout_marginRight="@dimen/dp10"
                    android:layout_weight="0.5"
                    android:orientation="horizontal"
                    android:padding="@dimen/dp5"
                    android:weightSum="3">

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="0.9"
                        android:text="Nature"
                        android:textColor="@color/colorBlack"
                        android:textSize="@dimen/dp15"
                        android:textStyle="bold" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1.1"
                        android:text="Investment value"
                        android:textColor="@color/colorBlack"
                        android:textSize="@dimen/dp15"
                        android:textStyle="bold" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:text="Current Value"
                        android:textColor="@color/colorBlack"
                        android:textSize="@dimen/dp15"
                        android:textStyle="bold" />
                </LinearLayout>

                <ListView
                    android:id="@+id/lst_nature_wise_data"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="2"

                    ></ListView>


            </LinearLayout>


            <!--pie chart-->
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_marginLeft="@dimen/dp10"
                android:layout_marginTop="@dimen/dp10"
                android:layout_marginRight="@dimen/dp10"
                android:layout_weight="1"
                android:background="@drawable/rounded_layout_white"
                android:orientation="vertical">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_gravity="center"
                    android:layout_weight="0.1"
                    android:gravity="center"
                    android:text="Asset under managment"
                    android:textColor="@color/colorBlack"
                    android:textSize="@dimen/dp15"
                    android:textStyle="bold" />

                <lecho.lib.hellocharts.view.PieChartView
                    android:id="@+id/chart"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="0.8" />
            </LinearLayout>
        </LinearLayout>
    </ScrollView>

</LinearLayout>

这是我的自定义操作栏布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorGray"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/ll_actionbar_header"
        android:layout_width="match_parent"
        android:layout_height="@dimen/dp80"
        android:background="@color/colorLightBlue"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/img_navigation"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:padding="@dimen/dp30"
            android:src="@drawable/img_nav" />

        <TextView
            android:id="@+id/tv_action_title"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:gravity="center"
            android:text="Dashboard"
            android:textColor="@color/colorWhite"
            android:textSize="@dimen/dp25"
            android:textStyle="bold" />

        <ImageView
            android:id="@+id/img_action_notification"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_weight="0.5"
            android:padding="@dimen/dp12"
            android:src="@drawable/img_notification" />

        <ImageView
            android:id="@+id/img_action_doc"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_marginLeft="@dimen/dp5"
            android:layout_weight="0.5"
            android:padding="@dimen/dp12"
            android:src="@drawable/img_doc" />

        <ImageView
            android:id="@+id/img_action_setting"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_marginLeft="@dimen/dp5"
            android:layout_weight="0.5"
            android:padding="@dimen/dp12"
            android:src="@drawable/img_dots" />
    </LinearLayout>






</LinearLayout>

我要滚动在我的scrollview主linearlayout中定义的布局,请指导我如何做到这一点。

scrollview正常还是需要nestedscrollview?我将fillviewport设置为true,但仍然遇到此问题。

2 个答案:

答案 0 :(得分:1)

您的代码太忙了,无法理解,但是滚动视图不起作用的原因是其中的多个布局,因为滚动视图不支持它。...检查我的代码

<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1.5"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">

<ScrollView android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="match_parent">


  <!--put your nested layouts and other things which you want to use for scrolling-->


    </LinearLayout>

</ScrollView>

</LinearLayout>

记住我上面提到的内容

答案 1 :(得分:1)

我的代码中遇到了同样的问题。然后,我首先使用相对布局并解决此问题。您可以尝试这种方式。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".workReport.activity.DailyWorkReportUpdateActivity">

<include
    android:id="@+id/toolbar"
    layout="@layout/tool_bar" />

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/toolbar">

  --Rest of code here--

  </ScrollView>
</RelativeLayout>