Как перевести включенный макет в упражнение? - PullRequest
0 голосов
/ 27 марта 2019

Я хочу перевести свой включенный макет по оси Y в свою деятельность. Я мог бы сделать это раньше, если бы использовал привязку данных, но теперь, так как корневое представление моего включенного макета, я не могу получить это так.

ConstraintLayout layout = (ConstraintLayout) mbinding.includedlayout;

Я пробовал это:

    LayoutBottomSheetBinding bottomSheet = 
    LayoutBottomSheetBinding.inflate(getLayoutInflater());
    bottomSheet.setViewModel(mActivityViewModel);
    bottomSheet.constraintLayoutBottomSheet.setTranslationY(-300);

. Это не дает никакой ошибки, но ничего не происходит в моем пользовательском интерфейсе, и я просто вижу включенный макет, и он не перемещается вверх или вниз. Я предполагаю, что это означает обращение к другому экземпляру этого xml (не уверен).

 LayoutBottomSheetBinding bottomSheet = 
 LayoutBottomSheetBinding.inflate(getLayoutInflater());
    bottomSheet.setViewModel(mActivityViewModel);
    bottomSheet.constraintLayoutBottomSheet.setTranslationY(-300);
    ConstraintLayout layout = (ConstraintLayout) includedRootView
    mBinding.buttonBottomSheet.setOnClickListener(v -> {
        if (position == 0) {

bottomSheet.constraintLayoutBottomSheet.animate().translationY(0);
            position = 1;
        } else {

bottomSheet.constraintLayoutBottomSheet.animate().translationY(-300);
            position = 0;
        }
    });

Кто-нибудь может мне помочь или сказать, что я делаю не так? Я просто хочу иметь возможность перевести этот включенный макет, как я делаю выше.

1 Ответ

0 голосов
/ 27 марта 2019

Вы должны запустить анимацию:

bottomSheet.constraintLayoutBottomSheet.animate (). TranslationY (0) .start ();

...