2016-07-14 7 views
0

Ich möchte Aktivität mit einem Knopf erstellen. Wenn Sie auf die Schaltfläche klicken, erscheint das halbe Bildschirmlayout von unten. enter image description hereAndroid halbe Bildschirmaktivität

Und mehr, wenn Sie auf Hintergrundlayout klicken, verschwindet neuer Fronthintergrund.

Haben Sie eine Idee, wer das umsetzen soll? Vielen Dank im Voraus.

EDIT:

Ich habe Lösung für diese Funktion gefunden. Zuerst mache ich neue versteckte Sicht unter dem Bildschirm (Sie können wie aus den Antworten unten finden).

Und dann animieren ich auf die Schaltfläche klicken Sie den folgenden Code:

dialog.animate().translationY(-HEIGHT).setDuration(TIME); 
+0

Ich würde vorschlagen, eine Ansicht (welche Art von Layout Sie für den Inhalt am besten halten würde) mit einem translationY Wert, der es offscreen macht. Dann könntest du einen Valueanimator oder etwas Ähnliches verwenden, um es sanft nach oben und unten zu bringen und sie mit deinen gewünschten Eingaben auszulösen. – kimchibooty

+0

Würdest du mir detailliertere Anweisungen geben, wie man die Ansicht außerhalb des Bildschirms einstellt und von unten bewegt? –

+0

Diese Frage zeigt wenig bis keine Mühe. – basic

Antwort

1
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 

android:layout_width="match_parent" 
android:layout_height="match_parent" 
> 
<!-- view with button --> 
<LinearLayout 
    android:id="@+id/task_list_fragment" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 
</LinearLayout> 

<!-- example content hided in bottom --> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/height_of_your_content" 
    android:layout_alignParentBottom="true" 
     android:layout_marginBottom="@dimen/minus_height_of_your_content" 
    > 
</LinearLayout> 
</RelativeLayout> 

verstecken Inhalt zeigen Margin ändern. Im Start-Rand sollteBotton - von dieser Layout-Höhe außerhalb des Bildschirms sein. Sie können dies tun, indem Sie animation in translateY verwenden und am Ende marginBottom ändern, um den Wert zu beenden. Dies ist eine der möglichen Lösungen.

+0

Wie kann ich erkennen, klicken Sie auf Hintergrundebene? –

+0

Legen Sie eine ID und findElementById fest, und setzen Sie OnClickListener, und führen Sie dann eine Rückwärtsanimation für die zweite/obere Ansicht durch. –

Verwandte Themen