gpt4 book ai didi

java - 如何实现 "animated CollapsingToolbar?"

转载 作者:行者123 更新时间:2023-12-02 03:23:39 24 4
gpt4 key购买 nike

基本上,我想知道如何在使用 RecyclerView 时,如何实现一种“动画 CollapsingToolbar”。请注意,它用引号引起来,因为我没有附加到 CollapsingToolbar 的解决方案,但这是迄今为止我能找到的最接近我想要的东西。基本上,我想制作一个工具栏,其中包含我的应用程序的标题和带有一些字符串的副标题,后跟一个 int (作为字符串类型)。当我向上滚动时,我希望字符串淡出,但保留 int 并向上移动到与应用程序标题相同的级别。

enter image description here (画得粗糙请见谅)

我看过this solution ,但是它依赖于 ListView。我还看过this solution ,但是我不知道如何能够按照我想要的方式自定义动画。 This repo看起来可以工作,但是有一堆错误,无法编译。

所以基本上,总而言之,我正在寻找如何以我上面描述的方式为工具栏设置动画,使用您认为最好的任何方式,而不一定是折叠工具栏。

最佳答案

看看这个 CoordinatorLayout

<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:fitsSystemWindows="true">

<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="5dp"
android:paddingBottom="30dp"
android:theme="@style/AppTheme.AppBarOverlay"
>

<abysmel.com.collapsibletoolbarhelper.widgets.CollapsibleToolbarHelper
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
android:gravity="center_vertical"
android:layout_marginTop="10dp"
android:background="@android:color/transparent"
>

<!--Note that the position has to be set with respect to the collapsed toolbar. So,
aligning it in center initially (centerInParent="true") will NOT work as it will remain
at its position even after the Toolbar collapses. Also note that the initially set the
alpha of the view to zero and NOT the visibility to gone, as the view will then have never
been drawn which will throw all calculations haywire for show_on_collapse. Wish there
was a better way to do this-->
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/hello.img"
android:src="@mipmap/hello"
android:layout_marginLeft="10dp"
android:alpha="0"
app:layout_marginTopPercent = "3%"
app:collapseMode="show_on_collapse"/>

<!-- Title -->
<abysmel.com.collapsibletoolbarhelper.widgets.CollapsibleTextLayout
android:id="@+id/hello.text"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
app:layout_widthPercent="59%"
android:layout_alignParentLeft="true"
app:layout_marginTopPercent = "1%"
app:layout_marginBottomPercent = "1%"
app:layout_marginLeftPercent="5%"
android:textColor="@android:color/white"
app:collapseMode="pin_on_scroll"
app:textToShow = "Hello World"
app:expandedTextColor = "@android:color/white"
app:collapsedTextColor = "@android:color/white"
app:typefaceFamilyPrimary = "sans-serif-light"
app:typefaceFamilySecondary = "sans-serif-medium"
app:isMultiFaceted="true"
app:typefaceSplitPosition="5"
app:expandedTextSize = "62dp"
app:collapsedTextSize = "32dp"
app:maxExpandedTextSize = "62dp"
/>

<!-- The hello number edit button -->
<ImageView
android:id="@+id/hello.edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
app:layout_marginTopPercent = "3%"
app:layout_marginBottomPercent = "1%"
app:layout_marginRightPercent = "4%"
android:layout_marginLeft="10dp"
android:src="@mipmap/pencil"
app:collapseMode="hide_on_collapse"/>

<!-- The hello Number -->
<TextView
android:id="@+id/hello.number"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
app:layout_widthPercent="40%"
app:layout_marginTopPercent = "1%"
app:layout_marginBottomPercent = "1%"
app:layout_marginRightPercent = "1%"
android:layout_toLeftOf="@id/hello.edit"
android:layout_toRightOf="@id/hello.text"
android:gravity="end"
android:text="@string/hello_no_sign"
android:textColor="@android:color/white"
android:textSize="@dimen/hello_no_size"
app:collapseMode="pin_on_scroll"/>



<!-- Version -->
<TextView
android:id="@+id/version"
app:layout_widthPercent="40%"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_below="@id/hello.text"
android:layout_marginTop="5dp"
android:layout_alignParentLeft="true"
app:layout_marginLeftPercent="5%"
android:text="@string/version"
android:textColor="@android:color/white"
android:textSize="@dimen/version_no_size"
app:collapseMode="parallax_on_scroll"
/>

<!-- E-mail Address -->
<TextView
android:id="@+id/hello.address"
app:layout_widthPercent="40%"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_below="@id/hello.number"
android:layout_alignParentRight="true"
android:gravity="end"
app:layout_marginRightPercent="5%"
android:text="@string/emailaddress"
android:textColor="@android:color/white"
android:textSize="@dimen/mail_address_size"
app:collapseMode="parallax_on_scroll"
/>
</abysmel.com.collapsibletoolbarhelper.widgets.CollapsibleToolbarHelper>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

https://github.com/opacapp/multiline-collapsingtoolbar

关于java - 如何实现 "animated CollapsingToolbar?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39287068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com