gpt4 book ai didi

android - 第二个工具栏的 scrollFlag 属性被第一个工具栏应用

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:41 25 4
gpt4 key购买 nike

场景:

当其中一个toolbar消失时,第二个toolbar会适配第一个toolbarscrollFlag , 而不是它自己的 scrollFlag!

注意:

只有当其中一个工具栏消失时才会发生奇怪的行为,如果它们都可见,则scrollFlag 属性已正确设置到每个工具栏。

示例 1:

    <android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<android.support.v7.widget.Toolbar
android:id="@+id/appbar_edit_toolbar"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="@color/accent"
app:contentInsetStart="@dimen/content_inset"
app:navigationIcon="@drawable/ic_clear"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:titleTextColor="@android:color/white"
tools:ignore="UnusedAttribute" />

<android.support.v7.widget.Toolbar
android:id="@+id/appbar_normal_toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="?colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:contentInsetStart="@dimen/content_inset"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:title="@string/app_name"
tools:ignore="UnusedAttribute" />

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

在这种情况下运行应用程序时,当显示其中一个 toolbars 时,它的 scrollFlag 行为与 appbar_edit_toolbar 相同(即:滚动时始终显示的默认行为),而不是显示 appbar_normal_toolbar 时,其 scrollFlag 行为应为 scroll|enterAlways xml

示例 2:

    <android.support.v7.widget.Toolbar
android:id="@+id/appbar_normal_toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="?colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:contentInsetStart="@dimen/content_inset"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:title="@string/app_name"
tools:ignore="UnusedAttribute" />

<android.support.v7.widget.Toolbar
android:id="@+id/appbar_edit_toolbar"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="@color/accent"
app:contentInsetStart="@dimen/content_inset"
app:navigationIcon="@drawable/ic_clear"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:titleTextColor="@android:color/white"
tools:ignore="UnusedAttribute" />

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

在这种情况下运行应用程序时,当显示其中一个 toolbars 时,它的 scrollFlag 行为与 appbar_normal_toolbar 中一样(即:scroll|enterAlways),而不是当显示 appbar_edit_toolbar 时,它的 scrollFlag 行为应该是默认的(即始终显示)。

我尝试动态设置 scrollFlags 属性,使 AppBarLayout 无效,但这行不通。

我很确定这种行为的发生是因为 Android 库中的错误,因为他们不希望我消失其中一个工具栏。

大家怎么看?有没有其他方法可以让我的 Activity 有 2 个不同的工具栏,一次只能看到其中一个?

最佳答案

对我来说工作正常。检查这个相同的代码。

<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="md.com.androidui.MutipleToolbar">

<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar1"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:title="Scrolled Toolbar"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme.PopupOverlay" />

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar2"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorAccent"
app:title="Fixed Toolbar"
app:popupTheme="@style/AppTheme.PopupOverlay" />

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

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

<include layout="@layout/content_mutiple_toolbar" />

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

输出案例 1:两者都可见

enter image description here

情况二:滚动的工具栏只可见

enter image description here

案例三:固定工具栏只可见

enter image description here

关于android - 第二个工具栏的 scrollFlag 属性被第一个工具栏应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48310969/

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