【问题标题】:How to place a layout below toolbar in collapsing toolbar layout?如何在折叠工具栏布局中将布局放置在工具栏下方?
【发布时间】:2016-09-20 01:12:26
【问题描述】:

我想在我的应用程序中使用可折叠的工具栏布局。为此,我在应用栏中添加了折叠工具栏。我在布局下添加了一些文本视图的相对布局。我想在工具栏下方显示这个相对布局,它应该折叠到工具栏。

现在我已经添加了这个,它正在与工具栏合并。如下所示:

EDIT :使用嵌套滚动视图进行编辑。滚动到状态栏,应该滚动到工具栏。

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="140dp"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:fitsSystemWindows="true">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:titleEnabled="false">

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

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

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/toolbar"
                android:fitsSystemWindows="true"
                android:gravity="bottom"
                android:paddingLeft="30dp"
                android:scaleType="centerCrop">


                <TextView
                    android:id="@+id/eventName"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="20dp"
                    android:text="Event Name"
                    android:textColor="#ffffff"
                    android:textSize="14sp"/>

                <TextView
                    android:id="@+id/date"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/eventName"
                    android:layout_marginTop="10dp"
                    android:text="Date"
                    android:textColor="#ffffff"
                    android:textSize="14sp"/>

                <TextView
                    android:id="@+id/time"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/date"
                    android:layout_marginBottom="10dp"
                    android:layout_marginTop="10dp"
                    android:text="Time"
                    android:textColor="#ffffff"
                    android:textSize="14sp"/>

            </RelativeLayout>

        </LinearLayout>

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

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

<android.support.v4.widget.NestedScrollView
    android:id="@+id/scroll"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipToPadding="false"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

    <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:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        tools:context="com.example.siddhi.meavita.Activities.PlanDetailsActivity"
        tools:showIn="@layout/activity_plan_details">


        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="PLAN"
            android:layout_centerHorizontal="true"
            android:textAppearance="@android:style/TextAppearance.Large"
            android:id="@+id/textView6"
            android:layout_marginTop="10dp" />

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="false"
            android:layout_alignParentStart="false"
            android:layout_below="@+id/textView6"
            android:layout_marginTop="40dp">

            <Button
                android:layout_width="150dp"
                android:layout_height="40dp"
                style="?android:attr/borderlessButtonStyle"
                android:text="Schedule"
                android:id="@+id/schedule"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/list_background" />

            <Button
                android:layout_width="150dp"
                android:layout_height="40dp"
                style="?android:attr/borderlessButtonStyle"
                android:text="Check List"
                android:id="@+id/button4"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="20dp"
                android:background="@drawable/list_background" />

            <Button
                android:layout_width="150dp"
                android:layout_height="40dp"
                android:text="Vendors"
                style="?android:attr/borderlessButtonStyle"
                android:id="@+id/button5"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="20dp"
                android:background="@drawable/list_background" />

            <Button
                android:layout_width="150dp"
                android:layout_height="40dp"
                android:text="Invitee"
                style="?android:attr/borderlessButtonStyle"
                android:id="@+id/button6"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="20dp"
                android:background="@drawable/list_background" />
        </LinearLayout>


    </RelativeLayout>

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

如何将它放在工具栏下方并向上滚动到工具栏?谢谢。。

【问题讨论】:

    标签: android android-layout android-collapsingtoolbarlayout


    【解决方案1】:

    将此行添加到您的 RelativeLayout。

    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    

    【讨论】:

    • 我用 Alexander 的回答将此添加到我的相对布局中。现在它完全折叠到状态栏我希望它折叠到工具栏。 @Chandrakant Dvivedi
    • 将 app:layout_collapseMode="pin" 添加到工具栏
    【解决方案2】:

    给RelativeLayout设置一个边距 android:layout_marginTop="?attr/actionBarSize"

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/toolbar"
                android:layout_marginTop="?attr/actionBarSize"
                android:fitsSystemWindows="true"
                android:gravity="bottom"
                android:paddingLeft="30dp"
                android:scaleType="centerCrop">
    

    【讨论】:

      【解决方案3】:
      <?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"
                                                       android:layout_width="match_parent"
                                                       android:layout_height="match_parent"
                                                       android:orientation="vertical">
      
          <android.support.design.widget.AppBarLayout
              android:layout_width="match_parent"
              android:layout_height="140dp"
              android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
              android:fitsSystemWindows="true">
      
              <android.support.design.widget.CollapsingToolbarLayout
                  android:id="@+id/collapsing_toolbar"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:fitsSystemWindows="true"
                  app:contentScrim="?attr/colorPrimary"
                  app:layout_scrollFlags="scroll|exitUntilCollapsed"
                  app:titleEnabled="false">
      
                  <LinearLayout
                      android:layout_width="match_parent"
                      android:layout_height="match_parent"
                      android:orientation="vertical">
      
                      <android.support.v7.widget.Toolbar
                          android:id="@+id/toolbar"
                          android:layout_width="match_parent"
                          android:layout_height="?attr/actionBarSize"
                          app:layout_collapseMode="pin"/>
      
                      <RelativeLayout
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content"
                          android:layout_below="@+id/toolbar"
                          android:fitsSystemWindows="true"
                          android:gravity="bottom"
                          android:paddingLeft="30dp"
                          android:scaleType="centerCrop">
      
      
                          <TextView
                              android:id="@+id/eventName"
                              android:layout_width="match_parent"
                              android:layout_height="wrap_content"
                              android:layout_marginTop="20dp"
                              android:text="Event Name"
                              android:textColor="#ffffff"
                              android:textSize="14sp"/>
      
                          <TextView
                              android:id="@+id/date"
                              android:layout_width="match_parent"
                              android:layout_height="wrap_content"
                              android:layout_below="@+id/eventName"
                              android:layout_marginTop="10dp"
                              android:text="Date"
                              android:textColor="#ffffff"
                              android:textSize="14sp"/>
      
                          <TextView
                              android:id="@+id/time"
                              android:layout_width="match_parent"
                              android:layout_height="wrap_content"
                              android:layout_below="@+id/date"
                              android:layout_marginBottom="10dp"
                              android:layout_marginTop="10dp"
                              android:text="Time"
                              android:textColor="#ffffff"
                              android:textSize="14sp"/>
      
                      </RelativeLayout>
      
                  </LinearLayout>
      
              </android.support.design.widget.CollapsingToolbarLayout>
      
          </android.support.design.widget.AppBarLayout>
      
          <android.support.v4.widget.NestedScrollView
              android:id="@+id/scroll"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:clipToPadding="false"
              app:layout_behavior="@string/appbar_scrolling_view_behavior">
      
              <TextView
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:text="adlfjsd adsf adsf dsafasd fsda f af dsaf afl djsaflk sjdafl jsalf jsdalf jsdal fjasdl fjalsd jflas jflsa djfdl"
                  android:textSize="100sp"/>
      
      
          </android.support.v4.widget.NestedScrollView>
      
      </android.support.design.widget.CoordinatorLayout>
      

      【讨论】:

      • 你的意思是我应该使用线性布局来包装文本视图而不是相对布局?我尝试这样做,但仍然给出了相同的结果。 @亚历山大
      • 我已经更新了我的答案。它应该是这样的。同样在这种情况下,我建议您使用 LinearLayout 而不是 RelativeLayout
      • 好的,试过了。它位于工具栏下方,但是当我滚动它时,所有内容都会向上滚动直到状态栏。我只希望它滚动到工具栏。 @亚历山大
      • 请检查我编辑的问题,添加更新的布局。 @亚历山大
      • 我已经测试过了。它一直滚动到工具栏@user6265109
      【解决方案4】:

      总是把你的 AppBarLayout 放在你的 Layout 上面,这个解决方案已经过测试了..你可以试试..

      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:customfontdemo="http://schemas.android.com/apk/res-auto"
          xmlns:app="http://schemas.android.com/tools"
          android:orientation="horizontal"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_weight="3">
         <android.support.design.widget.AppBarLayout
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:theme="@style/AppBarOverlay"
          android:id="@+id/appBarLayout">
      
          <android.support.v7.widget.Toolbar
              android:id="@+id/toolbar"
              android:layout_width="match_parent"
              android:layout_height="?attr/actionBarSize"
              android:background="#428BCA"
              app:popupTheme="@style/PopupOverlay" >
              <lloyd.sp.com.studentportal.utils.MyTextview
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="Latest Attendance"
                  android:layout_gravity="left"
                  android:id="@+id/toolbar_title"
                  customfontdemo:fontName="OpenSans-Semibold.ttf"
                  android:textColor="#FFFFFF"
                  android:textSize="22sp"
                  android:lines="1"
                  android:paddingLeft="4dp"
                  />
      
              <ImageView
                  android:layout_width="28dp"
                  android:layout_height="28dp"
                  android:layout_gravity = "right"
                  android:paddingRight="10dp"
                  android:id="@+id/signout"
                  android:onClick="dosignout"
                  android:src="@drawable/logout_icon"/>
          </android.support.v7.widget.Toolbar>
      </android.support.design.widget.AppBarLayout>
      
      <LinearLayout
          android:id="@+id/linearLayout"
          android:orientation="horizontal"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_alignParentStart="true"
          android:layout_below="@+id/appBarLayout">
      
          <Button
      
              android:text="Status"
              android:textSize="20sp"
              android:textStyle="bold"
              android:background="@drawable/my_button_bg"
              android:gravity="center"
              android:layout_width="0dp"
              android:layout_weight="1"
              android:textColor="@color/black"
              android:layout_height="wrap_content"
              android:id="@+id/textView10" />
      
          <Button
              android:text="Date"
              android:background="@drawable/my_button_bg"
              android:textSize="20sp"
              android:textStyle="bold"
              android:layout_width="0dp"
              android:layout_weight="1"
              android:textColor="@color/black"
              android:layout_height="wrap_content"
              android:id="@+id/textView6"
              />
      
          <Button
              android:text="Subject"
              android:textSize="20sp"
              android:textStyle="bold"
              android:background="@drawable/my_button_bg"
              android:gravity="center"
              android:textColor="@color/black"
              android:layout_width="0dp"
              android:layout_weight="1"
              android:layout_height="wrap_content"
              android:id="@+id/textView9"
      
              />
      
      </LinearLayout>
      
      <ListView
          android:id="@+id/listViewLatestAttendance"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_alignParentLeft="true"
          android:layout_alignParentStart="true"
          android:layout_below="@+id/linearLayout"
          />
      
      </RelativeLayout>
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多