Я хочу перевести свой включенный макет по оси 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;
}
});
Кто-нибудь может мне помочь или сказать, что я делаю не так? Я просто хочу иметь возможность перевести этот включенный макет, как я делаю выше.