Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c374ad5d authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add CollapsingToolbarBaseFragment for implementing collapsing toolbar." into sc-dev

parents 87aefc78 e1f6cb43
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -23,5 +23,6 @@ android_library {
    apex_available: [
        "//apex_available:platform",
        "com.android.cellbroadcast",
        "com.android.permission",
    ],
}
+60 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2021 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/content_parent"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:transitionGroup="true">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/app_bar"
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:theme="@style/Theme.CollapsingToolbar.Settings">

        <com.android.settingslib.collapsingtoolbar.AdjustableToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:background="?android:attr/colorPrimary"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:maxLines="3"
            app:contentScrim="?android:attr/colorPrimary"
            app:collapsedTitleTextAppearance="@style/CollapsingToolbarTitle.Collapsed"
            app:statusBarScrim="?android:attr/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:expandedTitleMarginStart="18dp"
            app:expandedTitleMarginEnd="18dp"
            app:toolbarId="@id/action_bar">

            <Toolbar
                android:id="@+id/action_bar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:theme="?android:attr/actionBarTheme"
                app:layout_collapseMode="pin"/>

        </com.android.settingslib.collapsingtoolbar.AdjustableToolbarLayout>
    </com.google.android.material.appbar.AppBarLayout>

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
 No newline at end of file
+13 −37
Original line number Diff line number Diff line
@@ -14,47 +14,23 @@
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
<!-- The main content view -->
<LinearLayout
    android:id="@+id/content_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:transitionGroup="true">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/app_bar"
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:theme="@style/Theme.CollapsingToolbar.Settings">

        <com.android.settingslib.collapsingtoolbar.AdjustableToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:background="?android:attr/colorPrimary"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:maxLines="3"
            app:contentScrim="?android:attr/colorPrimary"
            app:collapsedTitleTextAppearance="@style/CollapsingToolbarTitle.Collapsed"
            app:statusBarScrim="?android:attr/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:expandedTitleMarginStart="18dp"
            app:expandedTitleMarginEnd="18dp"
            app:toolbarId="@id/action_bar">

    android:fitsSystemWindows="true"
    android:transitionGroup="true"
    android:orientation="vertical">
    <Toolbar
        android:id="@+id/action_bar"
        style="?android:attr/actionBarStyle"
        android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:theme="?android:attr/actionBarTheme"
                app:layout_collapseMode="pin"/>

        </com.android.settingslib.collapsingtoolbar.AdjustableToolbarLayout>
    </com.google.android.material.appbar.AppBarLayout>

        android:layout_height="wrap_content"
        android:theme="?android:attr/actionBarTheme" />
    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
 No newline at end of file
        android:layout_height="match_parent"/>
</LinearLayout>
+0 −36
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2021 The Android Open Source Project

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- The main content view -->
<LinearLayout
    android:id="@+id/content_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:transitionGroup="true"
    android:orientation="vertical">
    <Toolbar
        android:id="@+id/action_bar"
        style="?android:attr/actionBarStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="?android:attr/actionBarTheme" />
    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</LinearLayout>
+2 −10
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import android.view.ViewGroup;
import android.widget.Toolbar;

import androidx.annotation.Nullable;
import androidx.core.os.BuildCompat;
import androidx.fragment.app.FragmentActivity;

import com.google.android.material.appbar.CollapsingToolbarLayout;
@@ -41,15 +40,8 @@ public class CollapsingToolbarBaseActivity extends FragmentActivity {
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // TODO(b/181723278): Update the version check after SDK for S is finalized
        // The collapsing toolbar is only supported if the android platform version is S or higher.
        // Otherwise the regular action bar will be shown.
        if (BuildCompat.isAtLeastS()) {
        super.setContentView(R.layout.collapsing_toolbar_base_layout);
        mCollapsingToolbarLayout = findViewById(R.id.collapsing_toolbar);
        } else {
            super.setContentView(R.layout.toolbar_base_layout);
        }

        final Toolbar toolbar = findViewById(R.id.action_bar);
        setActionBar(toolbar);
Loading