-2

I want to scroll my dasboard screen but I am unable to do this.

This is my xml for dashboard screen

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

this is my custom action bar layout

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

I want to scroll layout which I define in my scrollview main linearlayout please guide me how I do this.

scrollview is ok or nestedscrollview is required?I set fillviewport to true but still i am facing this issue.

ankuranurag2
  • 2,300
  • 15
  • 30
  • 1
    OMG Too much nested view and nested weights both bad for performance and **FYI** nested weights bad for performance read here [Why are nested weights bad for performance](https://stackoverflow.com/q/9430764/7666442) – AskNilesh Jan 24 '19 at 09:12
  • set scrollview height to wrap_content instead of match parent. Is the issue that the scrollview is not scrolling or? – Zee Jan 24 '19 at 09:12
  • I set height to wrap content but then my scrollview not covering full screen – Nidhi Bhatt Jan 24 '19 at 09:14
  • I run your code and it is scrollable.@Nidhi Bhatt – Asteroid Jan 24 '19 at 09:42

2 Answers2

1

I got same issue in my code. Then I use first Relative layout and solve this. You may try this way.

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

Your code is too hectic to understand but maybe the reason of not working of your scrollview is multiple layout in it because scrollview does not support it....check my code

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

Remember about the lines i mentioned above

Vipul Chauhan
  • 189
  • 4
  • 19
  • 1
    I did this but then my main linearlayout in scrollview is not display in full screen – Nidhi Bhatt Jan 24 '19 at 09:39
  • 1
    because you copy and paste the same code check the weight also. Here the WEIGHT of main layout is 1.5 and the WEIGHT of scrollview is 1 that's why you getting this error – Vipul Chauhan Jan 24 '19 at 15:54