动态设置 FAB 锚点位置

6
我需要能够从代码中更改FAB的app:layout_anchorGravity="center",从center更改为bottom|start。 我找到了这个例子:
CoordinatorLayout.LayoutParams p = (CoordinatorLayout.LayoutParams) fab.getLayoutParams();
p.setAnchorId(xxxx);
fab.setLayoutParams(p);

但它是用于设置锚点而不是锚点重心。

2个回答

12

CoordinatorLayout.LayoutParams类有一个anchorGravity字段。例如:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
CoordinatorLayout.LayoutParams lp = (CoordinatorLayout.LayoutParams) fab.getLayoutParams();
lp.anchorGravity = Gravity.BOTTOM | GravityCompat.START;
fab.setLayoutParams(lp);

0

Kotlin 中的相同事物

        (rightUglyBox.layoutParams as CoordinatorLayout.LayoutParams)
                       .anchorGravity 
                                     = Gravity.CENTER_VERTICAL or Gravity.LEFT;

*适用于所有布局,而不仅仅是FAB


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接