2016-06-20 12 views
0

Ich möchte Material Schublade wie etwa 30 Mal verwenden, die ich bereits verwendet habe. Wenn ich den materialDrawer-Builder in OnCreate-Methode einfügen, funktionieren alle gut. Schublade erstellen nach einigen Sekunden mit Faden ein Countdown-Timer erzeugt eine weiße graue Fläche in der Statusleiste.fitSystemWindows mit MaterialDrawer

Mein einfacher Code, es zu bauen:

result = new DrawerBuilder(this) 
      .withActivity(this) 
      .withToolbar(toolbar) 
      .withActionBarDrawerToggle(true) 
      .addDrawerItems(

Meine Werte-21 Aktivität Stil:

<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> 

Meine activity_main.xml: Uhr auf fitSystemWindows = "true". Verwenden Sie dieses Attribut in CoordinatorLayout lösen Statusleiste Problem. Aber der gleiche Platz ist jetzt am Ende von XML. Das Entfernen aus dem Koordinator verursacht das Problem in der Statusleiste und nicht mehr im unteren Layout.

Antwort

1

Sie dürfen keine UI-Manipulation an einem Nicht-UI-Thread in Android vornehmen. Sie können dies etwas mehr Lesung über hier haben: https://developer.android.com/training/multiple-threads/communicate-ui.html

Im Allgemeinen ist es helfen soll, wenn Sie den Code in einem Handler setzen, damit es auf dem Haupt-Thread ausgeführt wird:

new Handler().postDelayed(new Runnable() { 
    @Override 
    public void run() { 
    //your code 
    } 
}, 1); 

Aber in Tatsache, ich würde empfehlen, dass Sie Ihre Schublade in Ihrer onCreate Methode erstellen. Wenn Sie die Informationen zu den Artikeln noch nicht an dieser Stelle haben, können Sie sie zu einem späteren Zeitpunkt mit dem Objekt hinzufügen. Sie können einige Beispiele finden, wie die Schublade zu ändern, nachdem hier bauen: https://github.com/mikepenz/MaterialDrawer#modify-items-or-the-drawer

Sie können auch die javadoc für die Drawer http://static.javadoc.io/com.mikepenz/materialdrawer/5.3.1/com/mikepenz/materialdrawer/Drawer.html

prüfen wollen,