【问题标题】:Android clickable transparent toolbarAndroid可点击透明工具栏
【发布时间】:2015-09-21 16:08:02
【问题描述】:

我在一个活动中添加了一个透明工具栏,它工作正常。问题是我想点击工具栏下的一个元素。尽管该元素是可见的(因为工具栏是透明的),但我无法单击该元素,因为该事件正在被工具栏捕获。 我该如何解决这种行为?

我的xml代码是:

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <FrameLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_alignParentTop="true"/>

        <android.support.v7.widget.Toolbar
            xmlns:android="http://schemas.android.com/apk/res/android"
            style="@style/Theme.Transparent"
            android:layout_height="@dimen/topbar"
            android:layout_width="match_parent"
            android:background="?attr/colorPrimary"
            android:layout_alignParentTop="true" />

    </RelativeLayout>

正如我所说,它在片段上显示工具栏透明,但我无法单击工具栏下方的元素。

提前致谢!

【问题讨论】:

  • 我试过了,但它不起作用。感谢您的回答!
  • @MateusBrandao 我认为这不是@FVod 正在寻找的。他说他想在Toolbar捕获点击事件。他从不谈论Fragments 或菜单项。

标签: android android-layout android-actionbar toolbar android-toolbar


【解决方案1】:

您可以添加android:clickable="false" 以不捕获工具栏上的点击或使用自定义OnTouchListener

【讨论】:

  • 我试过这样做:iToolbar.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { return false; } });但它不起作用,工具栏下的元素没有检测到点击。谢谢你的回答!
【解决方案2】:

我回答我自己的问题。我创建了一个扩展工具栏的自定义工具栏视图,并将 onTouchEvent 方法覆盖为:

@Override
public boolean onTouchEvent(MotionEvent ev) {
    return false;
}

现在一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-16
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    相关资源
    最近更新 更多