Googleカレンダーのドロップダウン月ウィジェットに似たものを作成しようとしています。
どんな助けでも本当にありがたいです。
これまでのところ、拡張可能なアニメーションでツールバーを使用する必要があると考えていますが、それが正しい方向に進むかどうかはわかりません。
また、Googleカレンダーアプリに似たものを作成しようとしていました。私はこの実装を持ってきました:
月ウィジェットには CompactCalendarView ライブラリを使用します。そして CollapsingToolbarLayout ドロップダウン用。
この実装のソースはGitHubで確認できます: https://github.com/GerritHoekstra/CompactCalendarViewToolbar
メインのレイアウトは ここ にあります。
これがさらにお役に立てば幸いです。
CollapsingToolbarLayoutをご覧ください。
<Android.support.design.widget.CollapsingToolbarLayout
Android:id="@+id/collapsingToolbarLayout"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:expandedTitleMarginStart="64dp"
app:contentScrim="?attr/colorPrimary">
<CalendarView
Android:layout_width="match_parent"
Android:layout_height="256dp"></CalendarView>
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin"/>
</Android.support.design.widget.CollapsingToolbarLayout>
この素晴らしいチュートリアル に従って、デザインライブラリに関するこれやその他の興味深いことを実装することをお勧めします。お役に立てれば。
Google calendar
アプリのようなドロップダウンビューを作成するプロジェクトを1つ見つけました
これを使用してください: サンプルプロジェクト
その中にCollapsingToolbarLayout
を使用してカスタムcalenderViewを配置します
<?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:id="@+id/coordinatorLayout"
Android:layout_width="match_parent"
Android:background="@Android:color/white"
Android:layout_height="match_parent"
tools:context=".MainActivity">
<Android.support.design.widget.AppBarLayout
Android:id="@+id/app_bar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:stateListAnimator="@animator/ann"
app:expanded="false"
Android:background="@Android:color/white"
app:layout_behavior=".MyAppBarBehavior"
tools:targetApi="Lollipop">
<Android.support.design.widget.CollapsingToolbarLayout
Android:id="@+id/collapsingToolbarLayout"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap|enterAlways"
app:statusBarScrim="?attr/colorPrimaryDark">
<!--large view -->
<com.example.GoogleCalendar.GooglecalenderView
Android:id="@+id/calander"
Android:layout_width="match_parent"
Android:layout_height="500dp"
Android:orientation="vertical"
app:layout_collapseMode="pin"
Android:layout_marginTop="?attr/actionBarSize"
>
</com.example.GoogleCalendar.GooglecalenderView>
<!--top toolbar-->
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:title="fkdl"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:titleTextColor="@color/colorPrimaryDark"
Android:background="@Android:color/white"
app:layout_collapseMode="pin"
app:popupTheme="@style/AppTheme.PopupOverlay">
<Android.support.constraint.ConstraintLayout
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:clickable="true"
Android:focusable="true">
<View
Android:layout_width="0dp"
Android:layout_height="0dp"
Android:layout_marginTop="10dp"
Android:id="@+id/backsupport"
Android:background="?attr/selectableItemBackground"
Android:clickable="true"
Android:layout_marginBottom="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
Android:id="@+id/monthname"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:paddingTop="4dp"
Android:paddingBottom="4dp"
Android:fontFamily="@font/googlesans_regular"
Android:text="June"
Android:textColor="#464646"
Android:textSize="20sp" />
<ImageView
Android:id="@+id/arrowImageView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/ic_arrow_drop_up_black_24dp"
app:layout_constraintLeft_toRightOf="@+id/monthname"
Android:translationX="-5dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:ignore="ContentDescription,RtlHardcoded" />
</Android.support.constraint.ConstraintLayout>
</Android.support.v7.widget.Toolbar>
</Android.support.design.widget.CollapsingToolbarLayout>
</Android.support.design.widget.AppBarLayout>
<com.example.GoogleCalendar.MyRecyclerView
Android:id="@+id/nestedView"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</Android.support.design.widget.CoordinatorLayout>