2016-06-26 73 views
3

我需要能够将FAB的app:layout_anchorGravity="center"从代码中的“center”更改为“bottom | start”。 我发现这个例子:动态设置FAB锚重力

CoordinatorLayout.LayoutParams p = (CoordinatorLayout.LayoutParams) fab.getLayoutParams(); 
    p.setAnchorId(xxxx); 

    fab.setLayoutParams(p); 

但它的设置锚,而不是锚重力。

回答

8

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);