我想使用材料抽屉大约30次我已经使用过它。 如果我在OnCreate方法中放置materialDrawer构建器一切正常。使用线程在一些秒后构建抽屉CountDown计时器会在状态栏中生成白色灰色空间。
构建它的简单代码:
result = new DrawerBuilder(this)
.withActivity(this)
.withToolbar(toolbar)
.withActionBarDrawerToggle(true)
.addDrawerItems(
我的价值观 - 21活动风格:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
我的activity_main.xml:观看 fitSystemWindows =&#34; true&#34; 。在CoordinatorLayout
解决状态栏问题中使用此属性。但是现在xml底部的空间相同。从协调器中删除它会导致状态栏上的问题,而不再是底层布局。
答案 0 :(得分:1)
您不能在Android中的非UI线程上进行UI操作。你可以在这里阅读更多相关内容: https://developer.android.com/training/multiple-threads/communicate-ui.html
一般情况下,如果将代码置于处理程序中以便在主线程上执行它应该会有所帮助:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//your code
}
}, 1);
但实际上我建议您使用onCreate
方法创建抽屉。如果您还没有关于这个地方的项目的信息,您可以稍后使用Drawer
对象添加它们。您可以在此处构建有关如何修改抽屉的示例:https://github.com/mikepenz/MaterialDrawer#modify-items-or-the-drawer
您可能还想查看Drawer
的javadoc
http://static.javadoc.io/com.mikepenz/materialdrawer/5.3.1/com/mikepenz/materialdrawer/Drawer.html