fitSystemWindows 与 MaterialDrawer
fitSystemWindows with MaterialDrawer
我想使用 material 抽屉大约 30 次我已经用过它了。
如果我将 materialDrawer builder 放在 OnCreate 方法中,一切都很好。几秒钟后使用线程构建抽屉,CountDown 计时器在状态栏中生成白色灰色 space。
我构建它的简单代码:
result = new DrawerBuilder(this)
.withActivity(this)
.withToolbar(toolbar)
.withActionBarDrawerToggle(true)
.addDrawerItems(
我的价值观-21 Activity 风格:
<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
中使用此属性解决状态栏问题。但是相同的 space 现在位于 xml 的底部。从协调器中删除它,导致状态栏上的问题,而不是底部布局中的问题。
您不得在 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
我想使用 material 抽屉大约 30 次我已经用过它了。 如果我将 materialDrawer builder 放在 OnCreate 方法中,一切都很好。几秒钟后使用线程构建抽屉,CountDown 计时器在状态栏中生成白色灰色 space。
我构建它的简单代码:
result = new DrawerBuilder(this)
.withActivity(this)
.withToolbar(toolbar)
.withActionBarDrawerToggle(true)
.addDrawerItems(
我的价值观-21 Activity 风格:
<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
中使用此属性解决状态栏问题。但是相同的 space 现在位于 xml 的底部。从协调器中删除它,导致状态栏上的问题,而不是底部布局中的问题。
您不得在 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