2013-02-12 4 views
5

ho il seguente file xml:
Nascondere un layout quando concentrarsi su di esso si perde in 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> 

Il framelayout è per un ActionBar con le schede che sono la viewpager nel layout di cui sopra. La barra delle azioni funziona perfettamente. Il problema che voglio risolvere è che l'ultima linearlayout, che in realtà è un lettore multimediale che galleggia nella parte inferiore dello schermo, deve essere nascosta quando premo al di fuori della linearlayout! Ho provato il nel musicLayout e nel visualizzatore di pagine, ma non succede nulla! Che cosa sto facendo di sbagliato?
Modifica:
Nel caso sia utile, ogni scheda è un frammento con il proprio layout che viene aggiunto a viewPager.

risposta

2

Penso che la soluzione più semplice a questo problema sarebbe quella di aggiungere una vista trasparente corrispondente a quella del tuo ViewGroup. Fondamentalmente, avresti ViewPager, LinearLayout e View allo stesso livello. Puoi quindi registrare un onClickListener sulla tua vista trasparente e questo dovrebbe fare il trucco.

layout dovrebbe essere qualcosa di semplice come questo:

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

grazie lo controllerò e mi accetterà la tua risposta se funziona. – user2065529

+0

grazie mille! ha funzionato, ma solo se ho messo la vista al centro di ViewPager e LinearLayout! Ho anche fatto android: clickable = "true" nella vista. Un'altra cosa che devo menzionare è che per poter usare il layout di backround dopo che il Linearout è scomparso è necessario cambiare la visibilità della vista e riattivarla quando abiliti lineralayout. – user2065529

Problemi correlati