首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fitSystemWindows与MaterialDrawer

fitSystemWindows与MaterialDrawer
EN

Stack Overflow用户
提问于 2016-06-20 14:12:10
回答 1查看 128关注 0票数 0

我想用材料抽屉,大概30次,我已经用过了。如果我把materialDrawer构建器放在OnCreate方法中,所有这些都能很好地工作。几秒钟后,用线程建造抽屉,CountDown计时器在statusbar中产生一个白色的灰色空间。

我构建它的简单代码:

代码语言:javascript
复制
result = new DrawerBuilder(this)
            .withActivity(this)
            .withToolbar(toolbar)
            .withActionBarDrawerToggle(true)
            .addDrawerItems(

我的价值观-21活动风格:

代码语言:javascript
复制
<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="true".看在CoordinatorLayout中使用此属性解决statusbar问题。但是现在xml底部也有相同的空间。从协调器中删除它,会导致状态条上的问题,而不再是底部布局中的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-20 20:26:52

您不能在Android中的非UI线程上执行UI操作。您可以在这里更多地阅读这方面的内容:https://developer.android.com/training/multiple-threads/communicate-ui.html

通常,如果您将代码放入处理程序中,以便在主线程上执行代码,则会有所帮助:

代码语言:javascript
复制
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 http://static.javadoc.io/com.mikepenz/materialdrawer/5.3.1/com/mikepenz/materialdrawer/Drawer.html的javadoc。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37924753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档