2013-02-12 4 views
5

Ich habe die folgende XML-Datei verloren geht:
ein Layout ausgeblendet, wenn der Fokus auf es 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> 

Die framelayout ist für eine ActionBar mit Registerkarten, die die viewpager in dem obigen Layout sind. Die Aktionsleiste funktioniert perfekt. Das Problem, das ich lösen möchte, ist, dass das letzte lineare Layout, das eigentlich ein Media Player ist, der am unteren Bildschirmrand schwebt, versteckt werden muss, wenn ich außerhalb des linearen Layouts drücke! Ich habe die im MusicLayout und im Pageviewer getestet aber nichts passiert! Was mache ich falsch?
Bearbeiten:
Falls es hilft, ist jede Registerkarte ein Fragment mit einem eigenen Layout, das dem ViewPager hinzugefügt wird.

Antwort

2

Ich denke, die einfachste Lösung für dieses Problem wäre, eine transparente Ansicht, die Eltern der ViewGroup entspricht. Im Grunde würden Sie den ViewPager, LinearLayout und View auf derselben Ebene haben. Sie können dann einen onClickListener in Ihrer transparenten Ansicht registrieren, und das sollte den Zweck erfüllen.

Layout sollte etwas so einfach wie dies:

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

dank ich werde es prüfen, und ich werde akzeptieren Ihre Antwort, wenn es funktioniert. – user2065529

+0

vielen dank! es funktionierte aber nur, wenn ich die View in der Mitte von ViewPager und LinearLayout setzte! Ich machte auch android: clickable = "true" in der Ansicht. Eine andere Sache, die ich erwähnen muss, ist, dass, um das Hintergrundlayout zu verwenden, nachdem das linearLayout verschwunden ist, dass Sie die Sichtbarkeit der Ansicht ändern müssen und es wieder aktivieren, wenn Sie lineralayout aktivieren. – user2065529

Verwandte Themen