Я пытаюсь заставить мини-ящик запускаться вертикально с середины экрана
и я мог бы сделать это, когда использовал пользовательский CrossFade и добавил в метод withContent () представление
но проблема, когда я использую пользовательский CrossFade, что он не добавляет прозрачный backGround
так что я последовал за этой библиотекой
https://github.com/mikepenz/CrossfadeDrawerLayout
и есть две проблемы, которые я хочу изменить
сначала я хочу, чтобы ящик начинался с середины экрана
секунду я хочу, чтобы ящик стал частью экрана
я имею в виду не делать эту тень или макет, когда он открыт
я хочу, чтобы минидравер всегда существовал
как это
и это мой результат
вот мой код
публичный статический MiniDrawer initializeDrawer (Контекст деятельности, панель инструментов панели инструментов, int mainView,
Bundle saveInstanceState) {
CrossfadeDrawerLayout crossfadeDrawerLayout = new CrossfadeDrawerLayout(context);
Drawer result = new DrawerBuilder()
.withActivity(context)
.withSavedInstance(savedInstanceState)
.withShowDrawerOnFirstLaunch(true)
.withDrawerLayout(crossfadeDrawerLayout)
.withHasStableIds(true)
.withDrawerWidthDp(72)
.withGenerateMiniDrawer(true)
.addDrawerItems(
)
.withSavedInstance(savedInstanceState)
.build();
crossfadeDrawerLayout.setMaxWidthPx(DrawerUIUtils.getOptimalDrawerWidth(context));
MiniDrawer miniResult = result.getMiniDrawer();
View view = miniResult.build(context);
view.setBackgroundColor(UIUtils.getThemeColorFromAttrOrRes(context, com.mikepenz.materialdrawer.R.attr.material_drawer_background, com.mikepenz.materialdrawer.R.color.material_drawer_background));
crossfadeDrawerLayout.getSmallView().addView(view, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
crossfadeDrawerLayout.openDrawer(GravityCompat.START);
result.getDrawerLayout().setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN);
return miniResult.withCrossFader(new ICrossfader() {
@Override
public void crossfade() {
crossfadeDrawerLayout.crossfade(400);
if (isCrossfaded()) {
result.getDrawerLayout().closeDrawer(GravityCompat.START);
}
}
@Override
public boolean isCrossfaded() {
return crossfadeDrawerLayout.isCrossfaded();
}
});
}
спасибо