【发布时间】:2016-06-23 14:17:08
【问题描述】:
我在我的应用程序中使用浮动操作按钮 (FAB) 来显示对话框,当我在 Xperia Z 中使用 Lopllipop 5.1.1 测试我的应用程序时,一切正常。
但是,问题是当我在 ASUS Zenfone 6 中使用 KitKat 4.4.2 和在 Xperia C 中使用 Jelly Bean 4.2.2 测试我的应用程序时,FAB 加载完美,但 FAB 不显示对话框,似乎当我没有响应时摸了摸。
作为记录,我的 min sdk 版本是 16。
我想问的是为什么会这样?我的代码有什么问题,或者可能是 android 版本或 API 级别有什么问题吗?
请看一下我的代码。这里是 XML 代码:
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_add_account"
android:visibility="invisible"
android:clickable="true"/>
以及我如何声明和设置 FAB 的侦听器:
FloatingActionButton fab;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
fab = (FloatingActionButton) getActivity().findViewById(R.id.fab);
...
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showDialog();
}
});
...
}
让我感到困惑的是它在 Xperia Z 中是如何工作的,但在华硕 Zenfone 6 中却没有?
【问题讨论】:
-
原来问题出在我在listview之前声明FAB的XML文件中,通过在listview之后删除FAB的声明,它解决了我的问题。
-
您确实应该添加上述评论作为您自己问题的答案,因为它确实是解决此问题的方法。我遇到了同样的问题,在我的情况下,它是 RecyclerView,然后是 FAB,然后是 NestedScrollView。将 FAB 移到 NestedScrollView 下方,触摸/单击事件开始工作。好电话。
-
@Andrew 我希望将我的评论作为答案并在我的问题上加上 SOLVED 标记,但我真的不知道该怎么做。好伤心……
-
我猜只是手动将评论文本复制粘贴到添加答案字段中。试试看。
-
@Andrew god...它一直都在那里
标签: android floating-action-button