2016-10-05 48 views
0

我需要创建两个MaterialDrawer为同一活动并在它们之间进行切换。但是我需要在屏幕上显示抽屉时更新这些项目。视图切换

通过我们为MaterialDrawer的性能,另外一个抽屉布局的变化抽屉关闭后,只能是可见的,并再次触摸抽屉切换。

在抽屉之间切换时,是否可以在布局中进行刷新,在抽屉显示期间进行无效操作或进行更改通知,以便动态显示更改?

谢谢 亚历山大比安奇

+0

为什么需要2个不同的抽屉?难道只能在运行时切换项目吗? – mikepenz

+0

嗨迈克。可以在物品之间切换,但我认为只有在关闭并再次打开物料抽屉之后。我想切换,看看其他材料拉丝改变旧料抽屉,就像我们可以改变从一个文本框文本。可能吗 ? –

回答

0

MaterialDrawer配备了一个易于使用的API,这将允许你修改的项目,在Drawer在运行时显示,而无需创建一个新的Drawer对象的要求。

您可以通过removeAllItems方法在任何时间删除列表中的当前项目。 https://github.com/mikepenz/MaterialDrawer/blob/develop/library/src/main/java/com/mikepenz/materialdrawer/Drawer.java#L747

而且你可以在相同的风格通过addItems方法很容易地添加新的项目:https://github.com/mikepenz/MaterialDrawer/blob/develop/library/src/main/java/com/mikepenz/materialdrawer/Drawer.java#L756

这些变化将直接反映在UI中。

对于一些比较复杂的usecases你也可以考虑用于AccountSwitcher的源代码,这将开关2只列出了Drawer和它们的动画:https://github.com/mikepenz/MaterialDrawer/blob/develop/library/src/main/java/com/mikepenz/materialdrawer/AccountHeaderBuilder.java#L1348

+0

谢谢Mike。 –

+0

迈克,你能提供给我的帐户切换使用情况的例子吗?你写的这个链接显示了toggleSelectionList方法。 –

+0

@AlexandreBianchi是的。因为您希望同时处理列表。这与'AccountHeader'一起使用的真正'AccountSwitcher'是独立的。以上信息仅显示我在内部使用的代码,以便同时处理不同的列表。你仍然可以使用上面提到的removeAllItems,addItems变种。基本上这样做,没有保持状态 – mikepenz