динамическая установка силы тяжести якоря FAB


Мне нужно иметь возможность изменить app:layout_anchorGravity="center" FAB из "центра" в "низ|начало" из кода. Я нашел такой пример:

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

    fab.setLayoutParams(p);
Но это для установки якоря, а не для гравитации якоря.
1 4

1 ответ:

Класс 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);