android - FloatingActionButton 未在 CollapsingToolbarLayout 中显示
问题描述
嗨,我需要显示 2EditText
和FloatingActionButton
in CollapsingToolbarLayout
。我已使用此代码显示CollapsingToolbarLayout
,但我FloatingActionButton
在真实设备中不可见(Redmi Note 4)。
XML 代码
<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.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_tool_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:statusBarScrim="?attr/colorAccent">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_collapseMode="parallax"
android:layout_marginLeft="72dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="32dp"
android:layout_marginTop="136dp">
-->1st textView
</FrameLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
-->2nd TextView
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/floating_action_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/fab_margin"
app:layout_anchor="@id/appbar"
app:layout_anchorGravity="bottom|end"
app:srcCompat="@drawable/ic_add_black_24dp" />
解决方案
您粘贴的代码不是完整的代码,NavigationView
因为您提供的图片显示有一个NavigationView
(至少有一个DrawerLayout
)包含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.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_tool_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:statusBarScrim="?attr/colorAccent">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="72dp"
android:layout_marginTop="136dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="32dp"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/floating_action_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
app:fabSize="normal"
app:layout_anchor="@+id/appbar"
app:layout_anchorGravity="bottom|end"
app:srcCompat="@drawable/ic_settings_white_24dp" />
</android.support.design.widget.CoordinatorLayout>
结果:
也许你需要“ +
”,或者,如果这段代码没有帮助app:layout_anchor="@+id/appbar"
,还有另一个问题。DrawerLayout
另外,确保CoordinatorLayout
是最后的孩子DrawerLayout
。
推荐阅读
- asp.net - Task Runner Explorer ASP.NET - 在严格模式之外尚不支持块范围声明
- swift - 使用 @escaping 处理程序调用异步函数时遇到问题
- redux - 尝试将 saveState 保存到 localStorage 时,我在商店中收到“不是函数”错误
- python - Python AES 加密程序返回内存错误
- java - 我们如何在Java中添加数组数字移位‽‽‽
- spring - 对 Spring mongoTemplate 的 Mongodb 查询
- python - 无法使用 Python Paramiko 执行带有重定向多行输入的 shell 命令
- angular - Angular HTML 模板 - 如何使用数字输入的当前值作为数组切片的上限?
- c - 为什么 C 语言既有逻辑运算符又有按位“或”运算符?
- assembly - 6502 randy hyde 子程序问题“JSR INCRTN”