2013-02-12 14 views
5

Mam następujący plik XML:
Ukryj układ po ustawieniu ostrości na nim jest tracona w XML

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/FrameLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

<android.support.v4.view.ViewPager 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 
</android.support.v4.view.ViewPager> 

<LinearLayout 
    android:id="@+id/musicLayout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom" 
    android:gravity="center" 
    android:orientation="horizontal" 
    android:padding="10dp" 
    android:focusable="true" 
    android:visibility="visible" > 

    <ImageView 
     android:id="@+id/backward" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/backward" /> 

    <ImageView 
     android:id="@+id/stop" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft="8dp" 
     android:src="@drawable/stop" /> 

    <ImageView 
     android:id="@+id/pausePlay" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft="8dp" 
     android:src="@drawable/play" /> 

    <ImageView 
     android:id="@+id/forward" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft="8dp" 
     android:paddingRight="10dp" 
     android:src="@drawable/forward" /> 

</LinearLayout> 

framelayout jest dla actionbar z kartami, które są viewpager w powyższym układzie. Pasek akcji działa idealnie. Problem, który chcę rozwiązać, polega na tym, że ostatnie linelayout, czyli odtwarzacz multimedialny unoszący się w dolnej części ekranu, musi zostać ukryty, gdy naciskam poza linelayout! Przetestowałem w musicLayout i w przeglądarce stron, ale nic się nie dzieje! Co ja robię źle?
Edytuj:
W razie potrzeby każda zakładka jest fragmentem z własnym układem dodawanym do podglądu.

Odpowiedz

2

Myślę, że najprostszym rozwiązaniem tego problemu byłoby dodanie przezroczystego widoku, który pasuje do elementu nadrzędnego grupy ViewGroup. Zasadniczo, miałbyś ViewPager, LinearLayout i View na tym samym poziomie. Możesz następnie zarejestrować onClickListener w przejrzystym widoku i to powinno wystarczyć.

Układ powinien być tak proste jak to:

<View android:id="@+id/transparent_view" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:clickable="true"/> 
+0

dzięki będę go sprawdzić i będę akceptować swoją odpowiedź, czy to działa. – user2065529

+0

wielkie dzięki! zadziałało, ale tylko wtedy, gdy umieściłem View w środku ViewPager i LinearLayout! Również zrobiłem android: clickable = "true" w widoku. Inną rzeczą, o której muszę wspomnieć, jest to, że aby użyć układu backround po zniknięciu linearLayout, należy zmienić widoczność widoku, aby zniknął i włączyć go ponownie po włączeniu lineralayout. – user2065529

Powiązane problemy