- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
根据material.io float 操作按钮可以变身为操作菜单,如 this .有什么方法可以只使用 Material 库(没有第三方库)吗?
我试过了this库,但它会在菜单关闭后根据底部应用栏打破 fab 位置。
代码:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
app:layout_scrollFlags="scroll|enterAlways|snap"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"/>
</com.google.android.material.appbar.AppBarLayout>
<androidx.viewpager.widget.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<com.google.android.material.bottomappbar.BottomAppBar
android:id="@+id/bottomBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:fabAlignmentMode="end"
app:backgroundTint="?colorPrimary"
android:layout_gravity="bottom">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"/>
</com.google.android.material.bottomappbar.BottomAppBar>
<com.google.android.material.floatingactionbutton.FloatingActionButton
app:useCompatPadding="true"
app:layout_anchor="@id/bottomBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/fab"/>
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#53000000"
android:visibility="invisible"
android:id="@+id/overlay"/>
<io.codetail.widget.RevealFrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<io.files.view.MenuCardView
android:id="@+id/menu"
android:visibility="invisible"
android:layout_margin="56dp"
android:layout_gravity="bottom|end"
android:layout_width="wrap_content"
app:cardUseCompatPadding="true"
app:menu="@menu/new_tab_options"
android:layout_height="wrap_content"/>
</io.codetail.widget.RevealFrameLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
主要 Activity .kt
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.konifar.fab_transformation.FabTransformation
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
overlay.setOnClickListener {
FabTransformation.with(fab)
.setOverlay(it)
.transformFrom(menu)
}
fab.setOnClickListener {
FabTransformation.with(it)
.setOverlay(overlay)
.transformTo(menu)
}
}
override fun onBackPressed() {
if(menu.visibility== View.VISIBLE){
FabTransformation.with(fab)
.setOverlay(overlay)
.transformFrom(menu)
}else super.onBackPressed()
}
}
最佳答案
刚刚找到解决方案:使用 com.google.android.material.transformation.FabTransformationSheetBehavior
进行工作表布局,使用 com.google.android.material.transformation.FabTransformationScrimBehavior
进行叠加 View 。要支持漂亮的动画,请使用 com.google.android.material.transformation.TransformationChildCard
或 com.google.android.material.transformation.TransformationChildLayout
作为工作表的 Root View 。将 fab 转换为工作表集 isExpanded
到 fab 到 true
并将其向后转换设置 isExpanded
到 false
关于android - Material FAB 变形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53836978/
我正在处理一些数字代码,我正在查看编译器输出。一个特殊的案例让我觉得很奇怪: 在实数中,它成立 abs(a) * abs(b) = abs(a * b) .我希望在浮点数中也是如此。但是,优化既不是由
是否有人已经实现了将扩展 FAB 转换为标准 FAB,反之亦然?我知道如何将 FAB 添加到我的布局中以及如何检测列表滚动阈值,但我真的不知道如何实现这种转换(请参阅引用资料以了解我想做什么:Exte
我正在为我的 ionic 应用程序使用 Angular Material 。我发现了 fab 工具栏,并将其包含在我的应用程序中。这是 Angular Material 指南中提供的演示。 FAB t
我正在尝试使用 Materialize 在垂直 FAB 内创建水平 FAB。下面的代码几乎可以完美运行,但是每当我将鼠标悬停在主 FAB 上时,它都会切换主 FAB 和第二个 FAB,但我只想在将鼠标
我对 abs() 和 fabs() 函数进行了一些简单的测试,但我不明白使用 fabs() 有什么好处,如果是的话: 1) 慢 2) 仅适用于 float 3) 如果用于不同的类型会抛出异常 In [
背景 当你接到电话时,我正在制作一个上下滑动 FAB 的 POC,类似于它在电话应用程序上的工作方式: 问题 虽然我已经处理了触摸事件(允许上下移动 fab),并在您停止触摸时返回动画,但我还需要更改
我正试图在GNU C中创建一个返回32位浮点数绝对值的FABS函数。我有三种不同的方法,称为fab1、fab2和fab3:。有三个不同的函数,一个使用简单的判定,一个使用联合,最后一个使用x86汇编。
我无法以编程方式隐藏弧形菜单中的 fab 按钮。我正在使用https://github.com/saurabharora90/MaterialArcMenu在我的代码中。如何在Java中以编程方式隐藏
我正在尝试使用 Clans/FloatingActionButton 创建一个 float 操作菜单但我在布局文件中收到命名空间“fab”未绑定(bind)错误。我已经包含了 compile 'com
我在布局文件中将我的 FAB 定义为: 这里@drawable/search是我从 Android Studio 的 Vector Asset 工具(Asset Type Material Icon
今天,我正在进行一个登录 Activity ,该 Activity 使用FAB作为登录按钮。密码是正确的。当我布置布局文件时,我使用了以下代码: android:id="@+id/floatingAc
Fab-toolbar 在主演示 here 提供的示例中看起来不错。 但是,如果您尝试在自己的示例中使用它,它会变得比应有的高度高,如 here 所示。 . You ca
根据更新的 Material 指南, float 操作按钮可以转换为菜单,如下所示: 有人可以帮助我提供一些代码或一些有关如何实现此行为的链接吗? 谢谢你。 最佳答案 试试这个方法 在下方添加depe
为什么这个简单的代码不起作用?最初,我使用 xml 代码 app:fabSize="mini" 将 fab 图标的大小设置为 mini 然后我用java代码中的这个小 fragment 来互换大小
我在 appStore 上有较旧的应用程序。我想为 iOS 7 更新它,所以我在 Xcode 5 下打开它,并在 Build Settings 下打开了 Objective-c 模块。没有它,编译会很
我需要创建类似的东西。这可能是重复的,我不确定如何搜索它。如果你按加号,它会扩展更多的按钮 最好的问候 最佳答案 不再需要创建您自己的 FAB 或使用第三方库,它已包含在 AppCompat 22 中
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 7 年前。 Improve this qu
几天前我拥有完美的 FAB,现在图像无法居中,这让我抓狂!这是我现在得到的: 我正在使用 CardView 中的按钮。这是按钮 xml 标记: 这是可绘制文件:ic_options.xml 奇
我有一个 float 操作按钮菜单,它在点击时展开菜单项。如何实现与下图所示相同的行为?请帮忙。 我目前有以下布局语法:
我正在使用 FloatingActionButton 图标来共享资源我的图标看起来像这样 看起来灰色是重叠。 FloatingActionButton 图标的 xml 是 但是我希望白色像这个图标一
我是一名优秀的程序员,十分优秀!