android - 如何以编程方式删除 fab 的布局 anchor_property?

标签 android floating-action-button

我在布局 xml 中的 fab 上添加了 layout_anchor 属性。单击按钮后,晶圆厂应位于屏幕的末端。为此,我正在考虑添加重力属性。但是我如何以编程方式删除 layout_anchor 属性。

layout.xml

   <com.samsoft.sam.Fab
        android:id="@+id/fab"
        app:layout_anchor="@id/asd"
        app:layout_anchorGravity="top|end"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

上面是我的 fab 代码,它的位置很完美,现在我需要以编程方式将布局 anchor 属性替换为 android:gravity="top|end"。请帮助我。

最佳答案

我假设您的意思是您希望 FloatingActionButtonlayout_gravitytop|end 结束。

您可以通过获取 FloatingActionButtonCoordinatorLayout.LayoutParams、清除 anchor 的 ID、根据需要设置 gravity 字段来完成此操作,然后在 FloatingActionButton 上重新设置 LayoutParams

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
CoordinatorLayout.LayoutParams lp = (CoordinatorLayout.LayoutParams) fab.getLayoutParams();
lp.setAnchorId(View.NO_ID);
lp.gravity = Gravity.TOP | GravityCompat.END;
fab.setLayoutParams(lp);

关于android - 如何以编程方式删除 fab 的布局 anchor_property?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38067425/

相关文章:

android - 带有 Dagger 的 AlertDialog - 您必须先在 child 的 parent 上调用 removeView() - Android

android - 如何在android改造中发送json数组?

java - 不要用 if else 比较两个值

reactjs - 在 material-ui ReactJs 中更改 FloatingActionButton 的背景颜色

android - 如何使用 appcompact 添加 float 操作按钮

Javascript、函数链和事件?

java - 在 Android 中使用自然排序顺序对 ArrayList 进行排序?

java - android - 程序类型已存在 : android. support.multidex.ZipUtil$CentralDirectory

android - 在 float 操作按钮中创建菜单

android - 可以在 FloatingActionButton 中使用图像吗?