2015-11-01 12 views
10

Tworzę ekran logowania do mojej aplikacji na Androida i zastanawiałem się, jak mogę wykorzystać wideo jako tło, zamiast mieć obraz lub proste kolory?Ustaw wideo jako tło

Chcę, aby była podobna do ekranu logowania do aplikacji Spotify/Bible, gdzie jest odtwarzany film i masz przyciski do zalogowania się lub rejestracji.

Images -

(kliknij, aby powiększyć)

IMG:

IMG:

+0

Czy rozwiązujesz ten problem? – exequielc

Odpowiedz

4

Pierwszy dokonać nowy XML i dodać VideoView wewnątrz niego:

my_video_background.xml

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

<VideoView 
    android:id="@+id/videoView" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentTop="true" 
    android:layout_gravity="center" /> 

</RelativeLayout> 

Wtedy to ten plik wewnątrz głównego układu, które mają Buttons, powiedzmy:

splash.xml

<?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" 
android:background="#29000000"> 

<include layout="@layout/my_video_background" /> 

<!--Like Spotify image--> 

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="46dp" 
    android:src="@android:drawable/ic_dialog_map" /> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:orientation="horizontal"> 

    <Button 
     android:id="@+id/login" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.5" 
     android:background="#FF2D2D2D" 
     android:text="LOG IN" 
     android:textColor="@android:color/white" /> 

    <Button 
     android:id="@+id/signUp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.5" 
     android:background="#FF669900" 
     android:text="SIGN IN" 
     android:textColor="@android:color/white" /> 

</LinearLayout> 
</RelativeLayout> 

To jest to!

+1

Myślę, że dla pagera widoku trzeba go dodać do układu z pewnym tłem transparend –

+0

W VideoView, aby wideo rozciągało się od lewej do prawej na pełnym ekranie dodaj: android: layout_alignParentEnd = "true" android: layout_alignParentStart = "true " –

17

Wystarczy kilka kroków, aby ustawić wideo jako tło aplikacji.

  1. Utwórz widok wideo i upewnij się, że zajmuje cały obszar. Jeśli korzystasz z układu ograniczeń, musisz ustawić wszystkie ograniczenia widoku wideo na elementy nadrzędne.
  2. Utwórz nowy katalog o nazwie „surowe” w katalogu „res”
  3. Place złożyć wideo do „surowego” katalogu
  4. Odtwórz wideo
     
    VideoView videoview = (VideoView) findViewById(R.id.videoview); 
    Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.test); 
    videoview.setVideoURI(uri); 
    videoview.start(); 
    
    Zrobiłem film, który wyjaśnia, jak stworzyć ekran logowania JOOX na Androida, który wygląda mniej więcej tak, jak aplikacja Spotify. Krępuj się to sprawdzić i dać mi znać, jeśli to pomaga :)

https://youtu.be/tPeDn18FrGY

+1

to działa, dziękuję bracie! –

0

NatureDevil odpowiedź i wideo jest wielki, ale 2 rzeczy brakuje pierwszy po kliknięciu na przycisk i otworzyć nową działalność podobnego sing-up i postanowił kliknij strzałkę wstecz na urządzeniu, ekran do domu da czarny ekran, ponieważ film nie zostanie ponownie uruchomiony, więc trzeba dodać tę

@Override 
protected void onResume() { 
    super.onResume(); 
    // to restart the video after coming from other activity like Sing up 
    mVideoView.start(); 


} 

inną rzeczą dla VideoView rozciągać się od lewej do prawy pełny ekran dodaj:

android:layout_alignParentEnd="true" 
android:layout_alignParentStart="true"