2013-02-12 26 views
5

Tôi có file xml sau:
Ẩn một bố trí khi tập trung vào nó bị mất trong 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> 

Các framelayout là dành cho một actionbar với các tab đó là những ViewPager trong cách bố trí ở trên. Actionbar hoạt động hoàn hảo. Vấn đề mà tôi muốn giải quyết là linearlayout cuối cùng, vốn thực sự là một trình phát đa phương tiện trôi nổi ở cuối màn hình, cần được ẩn đi khi tôi nhấn vào bên ngoài linearlayout! Tôi đã thử nghiệm trong musicLayout và trong trình xem trang nhưng không có gì xảy ra! Tôi đang làm gì sai?
Chỉnh sửa:
Trong trường hợp trợ giúp, mỗi tab là một đoạn có bố cục riêng được thêm vào viewPager.

Trả lời

2

Tôi nghĩ giải pháp dễ nhất cho vấn đề này là thêm chế độ xem trong suốt phù hợp với phụ huynh của Nhóm ViewGroup của bạn. Về cơ bản, bạn sẽ có ViewPager, LinearLayout và View ở cùng cấp độ. Sau đó, bạn có thể đăng ký onClickListener trên Chế độ xem trong suốt của mình và điều đó sẽ thực hiện thủ thuật.

Layout nên một cái gì đó đơn giản như này:

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

nhờ tôi sẽ kiểm tra nó và tôi sẽ chấp nhận câu trả lời của bạn nếu nó hoạt động. – user2065529

+0

cảm ơn rất nhiều! nó hoạt động nhưng chỉ khi tôi đặt View ở giữa ViewPager và LinearLayout, tôi cũng đã làm android: clickable = "true" trong khung nhìn. Một điều khác mà tôi phải đề cập đến là để sử dụng bố cục backround sau khi linearLayout đã biến mất là bạn phải thay đổi khả năng hiển thị của khung nhìn để biến mất và bật lại nó khi bạn bật lineralayout. – user2065529

Các vấn đề liên quan