Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make Toolbar not overlap other content in Android?

I am trying to develop an activity with a toolbar (the example is more or less taken from a tutorial), but the Toolbar always overlaps part of the other content. Here is a screenshot:

enter image description here

The blue toolbar overlaps some of the other content. I have tried to search for a similar question on SO but only found something unrelated. I also tried to change the order of some elements and replaced wrap_content <-> match_parent which at most worsens the layout.

I am sure I am missing something very fundamental, but I do not see what.

Code of activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    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:fitsSystemWindows="true"
    tools:context=".MainActivity" >

    <android.support.design.widget.AppBarLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"/>

    </android.support.design.widget.AppBarLayout>

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

</android.support.design.widget.CoordinatorLayout>

Code of content_main.xml:

<?xml version="1.0" encoding="utf-8"?>
  <GridLayout
        xmlns:android="http://schemas.android.com/apk/res/android"

        android:layout_width="wrap_content"
        android:layout_height="match_parent"

        android:useDefaultMargins="true"
        android:alignmentMode="alignBounds"
        android:columnOrderPreserved="false"

        android:columnCount="4"
        >

    <TextView
            android:text="@string/MainTitle"
            android:textSize="32dip"
            android:layout_columnSpan="4"
            android:layout_gravity="center_horizontal"
            android:id="@+id/textView1"
            />

    <TextView
            android:text="You can configure email in just a few steps:"
            android:textSize="16dip"

            android:layout_columnSpan="4"
            android:layout_gravity="left"
            />

    <TextView
            android:text="Email address:"

            android:layout_gravity="right"
            />

    <EditText
            android:ems="10"
            />

    <TextView
            android:text="Password:"

            android:layout_column="0"
            android:layout_gravity="right"
            />

    <EditText
            android:ems="8"
            />

    <Space
            android:layout_row="4"
            android:layout_column="0"
            android:layout_columnSpan="3"
            android:layout_gravity="fill"
            />

    <Button
            android:text="Next"
            android:id="@+id/imageButton1"
            android:layout_row="5"
            android:layout_column="3"
            />
</GridLayout>
like image 701
Alex Avatar asked Oct 29 '15 18:10

Alex


People also ask

What is the difference between toolbar and action bar in Android?

What is the difference between the toolbar and the action bar? The most obvious difference between the two is the updated visual design of the toolbar. The toolbar no longer includes an icon on the left side and decreases some of the spacing between the action items on the right side.

What is collapsingtoolbarlayout in Android Studio?

CollapsingToolbarLayout gives the facility of adjusting the size of toolbar title text when it is expanded or contracted. A sample GIF is given below to get an idea about how CollapsingToolbarLayout looks like. To create a new project in Android Studio please refer to How to Create/Start a New Project in Android Studio.

How to use toolbar in Android?

Toolbar use material design theme features of Android and thus it provides backward compatibility up to API 7 (Android 2.1). One can use the Toolbar in the following two ways: Use as an ActionBar: In an app, the toolbar can be used as an ActionBar in order to provide more customization and a better appearance.

How to avoid snackbar overlap Floating Action Button in Android?

How To Avoid Snackbar Overlap Floating Action Button In Android 1 Snackbar Overlap Floating Action Button Xml Layout.#N#If you use below layout as your activity layout, the floating... 2 Use CoordinatorLayout To Make Floating Action Button Aware Snackbar Popup.#N#To avoid above issue, you just need to... 3 Example Create Steps. More ...

How do I add a toolbar to a constraint layout?

Search the Toolbar View from the Palette menu present at the top left portion of the Design window. Drag and place it as a child of ConstraintLayout. To make its appearance similar to ActionBar, add the AppBarLayout in the activity_main.xml file in such a manner that the Toolbar becomes its child.


2 Answers

Replace your <include layout="@layout/content_main"/> with this:

   <include layout="@layout/content_main"        android:layout_width="match_parent"        android:layout_height="match_parent"       app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 
like image 87
Henry Avatar answered Sep 20 '22 10:09

Henry


Add this to the view below the toolbar

app:layout_behavior="@string/appbar_scrolling_view_behavior"
like image 42
s-hunter Avatar answered Sep 21 '22 10:09

s-hunter