0

もう30回くらい使ったみたいに素材引き出しを使いたいです。MaterialDrawer ビルダーを OnCreate メソッドに入れると、すべてうまくいきます。カウントダウン タイマーのスレッドで数秒後にドロワーを構築すると、ステータスバーに白灰色のスペースが生成されます。

それを構築するための私の簡単なコード:

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="true"で見てください。この属性を使用してCoordinatorLayoutステータスバーの問題を解決します。しかし、同じスペースがxmlの下部にあります。コーディネーターから削除すると、ステータスバーで問題が発生し、下部レイアウトでは発生しなくなります。

4

1 に答える 1

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

http://static.javadoc.io/com.mikepenz/materialdrawer/5.3.1/com/mikepenz/materialdrawer/Drawer.htmlの javadoc も確認してください。Drawer

于 2016-06-20T20:26:52.250 に答える