From e0886381642104aae876cfa6340050621a331573 Mon Sep 17 00:00:00 2001 From: Yuichi Araki Date: Tue, 15 Sep 2015 18:09:14 +0900 Subject: Add usage of BottomSheetBehavior Change-Id: Ia6a6098c9a2ab7bcda0cc29c6800494faa97b440 --- samples/SupportDesignDemos/AndroidManifest.xml | 9 +++ .../res/layout/design_bottom_sheet.xml | 72 ++++++++++++++++++++++ .../res/values-w540dp/dimens.xml | 19 ++++++ samples/SupportDesignDemos/res/values/dimens.xml | 19 ++++++ samples/SupportDesignDemos/res/values/strings.xml | 2 + .../support/design/widget/BottomSheetUsage.java | 54 ++++++++++++++++ 6 files changed, 175 insertions(+) create mode 100644 samples/SupportDesignDemos/res/layout/design_bottom_sheet.xml create mode 100644 samples/SupportDesignDemos/res/values-w540dp/dimens.xml create mode 100644 samples/SupportDesignDemos/res/values/dimens.xml create mode 100644 samples/SupportDesignDemos/src/com/example/android/support/design/widget/BottomSheetUsage.java diff --git a/samples/SupportDesignDemos/AndroidManifest.xml b/samples/SupportDesignDemos/AndroidManifest.xml index ac7a0333f..1c99d4996 100644 --- a/samples/SupportDesignDemos/AndroidManifest.xml +++ b/samples/SupportDesignDemos/AndroidManifest.xml @@ -190,5 +190,14 @@ + + + + + + + diff --git a/samples/SupportDesignDemos/res/layout/design_bottom_sheet.xml b/samples/SupportDesignDemos/res/layout/design_bottom_sheet.xml new file mode 100644 index 000000000..56197eaec --- /dev/null +++ b/samples/SupportDesignDemos/res/layout/design_bottom_sheet.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/samples/SupportDesignDemos/res/values-w540dp/dimens.xml b/samples/SupportDesignDemos/res/values-w540dp/dimens.xml new file mode 100644 index 000000000..26fecbf04 --- /dev/null +++ b/samples/SupportDesignDemos/res/values-w540dp/dimens.xml @@ -0,0 +1,19 @@ + + + + 64dp + diff --git a/samples/SupportDesignDemos/res/values/dimens.xml b/samples/SupportDesignDemos/res/values/dimens.xml new file mode 100644 index 000000000..ac8777cfe --- /dev/null +++ b/samples/SupportDesignDemos/res/values/dimens.xml @@ -0,0 +1,19 @@ + + + + 0dp + diff --git a/samples/SupportDesignDemos/res/values/strings.xml b/samples/SupportDesignDemos/res/values/strings.xml index 1370ce0e6..a120337c1 100644 --- a/samples/SupportDesignDemos/res/values/strings.xml +++ b/samples/SupportDesignDemos/res/values/strings.xml @@ -21,6 +21,7 @@ NavigationView/Usage TabLayout/Usage Text Input + BottomSheet/Usage Normal size Mini size @@ -78,5 +79,6 @@ Search Settings + Bottom sheet diff --git a/samples/SupportDesignDemos/src/com/example/android/support/design/widget/BottomSheetUsage.java b/samples/SupportDesignDemos/src/com/example/android/support/design/widget/BottomSheetUsage.java new file mode 100644 index 000000000..21f6ffe62 --- /dev/null +++ b/samples/SupportDesignDemos/src/com/example/android/support/design/widget/BottomSheetUsage.java @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2015 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. + */ + +package com.example.android.support.design.widget; + +import com.example.android.support.design.R; +import com.example.android.support.design.Shakespeare; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.design.widget.BottomSheetBehavior; +import android.support.v7.app.AppCompatActivity; +import android.text.TextUtils; +import android.widget.LinearLayout; +import android.widget.TextView; + +/** + * This demonstrates basic usage of {@link BottomSheetBehavior}. + */ +public class BottomSheetUsage extends AppCompatActivity { + + private BottomSheetBehavior mBehavior; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.design_bottom_sheet); + ((TextView) findViewById(R.id.dialogue)).setText(TextUtils.concat(Shakespeare.DIALOGUE)); + mBehavior = BottomSheetBehavior.from((LinearLayout) findViewById(R.id.bottom_sheet)); + } + + @Override + public void onBackPressed() { + if (mBehavior != null && mBehavior.getState() != BottomSheetBehavior.STATE_COLLAPSED) { + mBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); + } else { + super.onBackPressed(); + } + } + +} -- cgit v1.2.3