Search code examples
androidandroid-layoutandroid-viewandroid-tablayoutwindowinsets

Status Bar is overlapping in Tab Layout in Android


The Tab Layout is overlapping with the status bar, I found a couple of threads having the same thing, but the solution seems to be adding "fitsSystemWindows" and I've already set it in my XML layout, the strange thing is I have more tabs like this and they seem to work perfectly.

enter image description here

This is my XML layout, any inputs would be helpful.

    <?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_margin="8dp"
    android:fitsSystemWindows="true"
    android:id="@id/root"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/linearLayout"
        android:fitsSystemWindows="true"
        android:orientation="vertical">

        <View
            android:layout_width="match_parent"
            android:layout_height="5dp" />




        <android.support.v7.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"

            app:cardCornerRadius="5dp">
            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:src="@drawable/ic_dashboard_bg"
                android:scaleType="fitXY"/>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"

                android:orientation="vertical">
                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="16dp"
                    android:layout_marginLeft="10dp"
                    android:layout_gravity="center">

                    <ImageView
                        android:id="@+id/btnfilter"
                        android:layout_width="35dp"
                        android:layout_height="35dp"
                        android:layout_marginLeft="330dp"
                        android:src="@drawable/ic_filter" />

                    <TextView
                        android:id="@+id/title_amount"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"

                        android:layout_centerHorizontal="true"
                        android:layout_gravity="center"
                        android:text="6000"
                        android:textColor="@color/colorToday"
                        android:textSize="39dp" />
                    <ImageView
                        android:layout_width="32dp"
                        android:layout_height="wrap_content"
                        android:layout_alignTop="@id/title_amount"
                        android:layout_alignBottom="@id/title_amount"
                        android:layout_toLeftOf="@id/title_amount"
                        android:scaleType="fitXY"
                        android:paddingTop="4dp"
                        android:paddingBottom="4dp"
                        android:src="@drawable/ic_orange_big"
                        android:id="@+id/imageView9" />

                    <TextView
                        android:id="@+id/textView6"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/btnfilter"
                        android:layout_gravity="center"
                        android:layout_toEndOf="@+id/imageView9"
                        android:drawableTint="@color/colorPrimaryLight"
                        android:text="TODAY"
                        android:layout_marginTop="10dp"
                        android:layout_marginLeft="10dp"
                        android:textColor="@color/colorToday"
                        android:textSize="16sp"
                        android:textStyle="bold" />
                </RelativeLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginLeft="8dp"
                    android:layout_marginBottom="8dp"
                    android:layout_marginRight="8dp"

                    android:weightSum="3">
                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:layout_gravity="center"
                        android:orientation="vertical">

                        <TextView
                            android:id="@+id/title_amount_yesterday"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:drawableLeft="@drawable/ic_rupee_white"
                            android:drawableTint="@color/colorPrimaryLight"
                            android:text="5000"
                            android:textColor="@color/colorPrimaryLight"
                            android:textSize="14sp"
                            android:textStyle="bold" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textColor="@color/colorPrimaryLight"
                            android:text="Yesterday"
                            android:textSize="12sp"
                            android:layout_gravity="center"
                            android:textAllCaps="true"
                            />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:layout_gravity="center"
                        android:orientation="vertical">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textColor="@color/colorPrimaryLight"
                            android:text="Yesterday"
                            android:visibility="invisible"
                            android:layout_gravity="center"
                            android:textAllCaps="true"
                            />
                    </LinearLayout>
                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:layout_gravity="center"
                        android:orientation="vertical">

                        <TextView
                            android:id="@+id/title_amount_persent"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:drawableLeft="@drawable/ic_percentage"
                            android:text="20%"
                            android:textColor="@color/colorGreen"
                            android:textSize="14sp"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/textView2"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:text="percentage"
                            android:textAllCaps="true"
                            android:textColor="@color/colorGreen"
                            android:textSize="12sp" />
                    </LinearLayout>

                </LinearLayout>
            </LinearLayout>
        </android.support.v7.widget.CardView>


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

            <android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="2dp"
                android:paddingLeft="4dp"
                android:paddingRight="4dp"
                android:layout_weight="1">

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


                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_marginTop="8dp"
                        android:layout_height="wrap_content">
                        <TextView
                            android:id="@+id/center1"
                            android:layout_width="1dp"
                            android:layout_height="match_parent"
                            android:layout_centerHorizontal="true"
                            android:background="@color/colorDarkPink"
                            />
                        <LinearLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:layout_alignParentLeft="true"
                            android:layout_toLeftOf="@+id/center1"
                            android:orientation="vertical">

                            <TextView
                                android:id="@+id/week_amount"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:drawableLeft="@drawable/ic_rupee_black"
                                android:textSize="14sp"
                                android:textColor="@color/colorPrimaryText"
                                android:textStyle="bold"
                                android:paddingBottom="4dp"
                                android:text="25,000"/>


                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:textSize="10sp"
                                android:text="this week"
                                android:fontFamily="sans-serif-light"
                                android:textColor="@color/colorPrimaryText"
                                android:layout_gravity="center"
                                android:textAllCaps="true"/>

                        </LinearLayout>

                        <LinearLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:layout_alignParentRight="true"
                            android:layout_toRightOf="@+id/center1"
                            android:orientation="vertical">

                            <TextView
                                android:id="@+id/mtd_amount"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:drawableLeft="@drawable/ic_rupee_black"
                                android:textSize="14sp"
                                android:textColor="@color/colorPrimaryText"
                                android:textStyle="bold"
                                android:paddingBottom="4dp"
                                android:text="2.5 L"/>


                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:textSize="10sp"
                                android:text="MTD"
                                android:fontFamily="sans-serif-light"
                                android:textColor="@color/colorPrimaryText"
                                android:layout_gravity="center"
                                android:textAllCaps="true"/>

                        </LinearLayout>

                    </RelativeLayout>
                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="5dp">

                        <ImageView
                            android:id="@+id/arrow1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_centerHorizontal="true"
                            android:padding="0dp"
                            android:src="@drawable/ic_pink_transaction"/>
                        <TextView
                            android:layout_alignParentBottom="true"
                            android:layout_width="match_parent"
                            android:layout_height="3dp"
                            android:background="@color/colorDarkPink"
                            />

                    </RelativeLayout>

                </LinearLayout>

            </android.support.v7.widget.CardView>

            <android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="2dp"
                android:paddingLeft="4dp"
                android:paddingRight="4dp"
                android:layout_weight="1">

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


                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_marginTop="8dp"
                        android:layout_height="wrap_content">
                        <TextView
                            android:id="@+id/center2"
                            android:layout_width="1dp"
                            android:layout_height="match_parent"
                            android:layout_centerHorizontal="true"
                            android:background="@color/colorGreen"
                            />
                        <LinearLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:layout_alignParentLeft="true"
                            android:layout_toLeftOf="@+id/center2"
                            android:orientation="vertical">

                            <TextView
                                android:id="@+id/month_amount"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:drawableLeft="@drawable/ic_rupee_black"
                                android:textSize="14sp"
                                android:textColor="@color/colorPrimaryText"
                                android:textStyle="bold"
                                android:paddingBottom="4dp"
                                android:text="25,000"/>


                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:textSize="10sp"
                                android:text="this week"
                                android:fontFamily="sans-serif-light"
                                android:textColor="@color/colorPrimaryText"
                                android:layout_gravity="center"
                                android:textAllCaps="true"/>

                        </LinearLayout>

                        <LinearLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:layout_alignParentRight="true"
                            android:layout_toRightOf="@+id/center2"
                            android:orientation="vertical">

                            <TextView
                                android:id="@+id/avg_month_amount"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:drawableLeft="@drawable/ic_rupee_black"
                                android:textSize="14sp"
                                android:textColor="@color/colorPrimaryText"
                                android:textStyle="bold"
                                android:paddingBottom="4dp"
                                android:text="7,000"/>


                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:textSize="10sp"
                                android:text="Avg. Monthly"
                                android:fontFamily="sans-serif-light"
                                android:textColor="@color/colorPrimaryText"
                                android:layout_gravity="center"
                                android:textAllCaps="true"/>

                        </LinearLayout>

                    </RelativeLayout>
                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="5dp">

                        <ImageView
                            android:id="@+id/arrow2"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_centerHorizontal="true"
                            android:padding="0dp"
                            android:src="@drawable/ic_green_transaction"/>
                        <TextView
                            android:layout_alignParentBottom="true"
                            android:layout_width="match_parent"
                            android:layout_height="3dp"
                            android:background="@color/colorGreen"
                            />

                    </RelativeLayout>

                </LinearLayout>

            </android.support.v7.widget.CardView>


        </LinearLayout>



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


        <LinearLayout
            android:id="@+id/performance_list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="12dp"
            android:fitsSystemWindows="true"
            android:orientation="vertical"
            android:visibility="visible">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fitsSystemWindows="true"
                android:layout_marginTop="16dp">


                <include layout="@layout/performer_details"
                    android:fitsSystemWindows="true"></include>
            </RelativeLayout>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fitsSystemWindows="true"
                android:layout_marginTop="16dp">


                <include layout="@layout/lest_performer_details"
                    android:fitsSystemWindows="true"></include>
            </RelativeLayout>
        </LinearLayout>



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





    </LinearLayout>



</android.support.v4.widget.NestedScrollView>

Solution

  • Add android:fitsSystemWindows to your LinearLayout to adjust view layout based on system windows such as the status bar. If true, adjusts the padding of this view to leave space for the system windows.

    Will only take effect if this view is in a non-embedded activity.

    Also you could try update your v21/styles.xml

     <item name="android:windowDrawsSystemBarBackgrounds">true</item>
     <item name="android:statusBarColor">@color/colorPrimaryDark</item>
    

    and make sure

     <item name="android:windowTranslucentStatus">false</item>
    

    If this won't resolve your issue, apply next line to the application theme:

    <item name="android:fitsSystemWindows">true</item>
    

    That's not recommended approach, but it would help you investigate problem.

    If it's not root view, make sure android:fitsSystemWindows is true for the view that's located higher in hierarchy.