2016-07-26 3 views
0

Ich habe ein benutzerdefiniertes Layout erstellt, die um sich Viewgroup um 1:18 ein Schiebe-Menü ähnlich den in diesem Video zu implementieren: https://www.youtube.com/watch?v=YeR7McJIltkWie wird der Hintergrund eines benutzerdefinierten Layouts abgeblendet?

Aber was ich weiß nicht, wie Sie den Hintergrund zu tun ist dim . Inhalt, wenn das Menü in gleitet

+0

Füllen Sie ein Layout oben auf der Ansicht mit einem schwarzen oder grauen Hintergrund auf und verwenden Sie 'setAlpha (Float);' –

Antwort

0

Sie können so etwas tun:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal"> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_weight="1"> 
     //your views are here 

    </LinearLayout> 

    <View 
     android:id="@+id/dim" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#cc000000" /> 

</RelativeLayout> 

und machen Sie Ihren dimFrameLayout nur sichtbar, wenn das Menü geöffnet wird, und unsichtbar, wenn es

geschlossen
+0

Eine kleine Frage, welche ist besser in Bezug auf die Leistung, mit jedem Layout wie 'FrameLayout' Sie verwenden oder einfaches ol "View"? –

+0

Danke für die Antwort und deine Methode, an die ich gedacht habe. Was mich widerwillig macht, diese Methode zu benutzen, ist, dass ich den Hintergrund auf diese Weise nicht allmählich abblenden kann. Sobald Sie das framelayout oben hinzufügen, wird der Hintergrund auf diese Farbe abgeblendet. Gibt es eine Möglichkeit für mich, meinen Hintergrund graduell zu dimmen und der Grad der Dunkelheit darauf basiert, wie weit das Schiebe-Menü offen ist ?? – JustCurious

+0

@KevinMurvie Ich glaube, View sollte schneller sein, weil 'FrameLayout' von der View-Klasse abstammt. Ich werde meine Antwort aktualisieren. – Divers

Verwandte Themen