我在布局 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"。请帮助我。
最佳答案
我假设您的意思是您希望 FloatingActionButton
的 layout_gravity
以 top|end
结束。
您可以通过获取 FloatingActionButton
的 CoordinatorLayout.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/