5

我有以下 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 用于带有选项卡的操作栏,这些选项卡是上述布局中的 viewpager。操作栏完美运行。我要解决的问题是最后一个linearlayout,实际上是一个悬浮在屏幕底部的媒体播放器,当我在linearlayout之外按下时需要隐藏!我已经测试了中的 onfocuschangelistener 和pageviewer 中的,但没有任何反应!我究竟做错了什么?
编辑:
如果有帮助,每个选项卡都是一个片段,它有自己的布局,被添加到 viewPager。

4

1 回答 1

2

我认为解决这个问题的最简单方法是添加一个与 ViewGroup 的父级匹配的透明视图。基本上,您将拥有同一级别的 ViewPager、LinearLayout 和 View。然后,您可以在透明视图上注册一个 onClickListener,这应该可以解决问题。

布局应该像这样简单:

<View android:id="@+id/transparent_view"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:clickable="true"/>
于 2013-02-13T03:52:42.687 回答