- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我一直在实现 FloatingActionButton
但不知为何根本没有响应。没有错误,什么也没有发生。
这是各自的 Java
和 xml
代码:
我已将 Click 事件中的代码替换为 Log Event
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.e("ABCD","ABCD");
}
});
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="edu.ahduni.seas.gyapak.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
<android.support.design.widget.FloatingActionButton
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:clickable="true"
android:src="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
content_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/textlayout"
tools:context="edu.ahduni.seas.gyapak.MainActivity">
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:padding="10dp" />
</LinearLayout>
最佳答案
让我们把 Toolbar
和 AppbarLayout
放在 fab
下面,看看会发生什么:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<!-- include your layout here -->
</LinearLayout>
<!-- when the screen is loading, in your case optional -->
<LinearLayout
android:id="@+id/progress"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:visibility="gone">
<include layout="@layout/layout_loading"></include>
</LinearLayout>
<!-- when the screen is empty no data, in your case optional -->
<LinearLayout
android:id="@+id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:visibility="gone">
<include layout="@layout/layout_empty"></include>
</LinearLayout>
<!-- a fab -->
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
app:backgroundTint="#009688"
style="@style/FabStyle"
android:layout_gravity="bottom|end"
android:layout_marginBottom="20dp"
android:visibility="invisible" />
<!-- the toolbar layout -->
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:title="@string/app_name"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark" />
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
首先检查没有内容的 fab click,然后尝试内容线性布局中的内容。
我将你的布局修改为这个(删除了所有内容)并且点击是工作
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<!--<include layout="@layout/content_main" />-->
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:layout_gravity="bottom|end"
android:clickable="true"
android:src="@android:drawable/ic_dialog_email"
app:backgroundTint="#FF0000"
app:rippleColor="#FFF" />
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary" />
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
所以您的 GridView 必须进行所有点击传递,让我检查一下并再次返回。
[编辑]它毕竟不是GridView
。代码中有一行不必要的代码。瞧,发现了你的问题,在 ParseActivity
onPostExecute()
上删除这一行
MainActivity.this.setContentView(R.layout.activity_main);
可能在第 286 行附近。
这会再次设置布局并且不会注册点击监听器,这就是为什么当它在布局文件 (DownloadZip) 中时,它可以正常工作。
如果您有必要,则重新初始化布局,即找到 fab 并放置另一个 setOnClickListener。您可以将这些代码放在一个方法中,然后在需要重新初始化布局的地方调用它们。
关于java - Android:FloatingActionButton 单击事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39766799/
如果我正常运行应用程序,应用程序运行良好,但当我尝试测试它时显示错误,这里是错误的完整日志。 java.lang.RuntimeException: android.view.InflateExcep
只是想澄清一个概念上的疑问。 float 操作按钮的 hide() 函数类似于 visibility.GONE 还是 visibility.INVISIBLE? 最佳答案 简而言之:是的。 以下是从设
我在以下布局文件 activity_register 中有一个 float 操作按钮:
我在 CoordinatorLayout 中使用 FloatingActionButton,但与正常行为不同,我想在到达底部时显示它,以便让用户看到更多数据。 为此,我在 Internet 上找到了该
我在使用 FloatingActionButton 时遇到了一些问题,它在模拟器上可以正常工作,但是当我安装到我的手机(Galaxy s4,Android V4.4.4)时它无法正常工作我附上了一些图
我想在 Android 中创建一个类似于 Gmail 收件箱的简单布局。项目列表和用于添加新项目的 FloatingActionButton。在 Android Studio 的设计选项卡中,按钮显示
您好,我正在尝试实现 makovkastar 的 [FloatingActionButton][1] 库。 (因为它是向后兼容的。它适用于单个 FAB,但是当添加 2 个按钮时,“列表”似乎只附加到一
我无法制作正确的按钮。如果我们为 CoordinatorLayout 设置 android: layout_height = "90dp",那么一切都会发生,但我希望它没有硬值。我可以这样做吗?
我正在使用 this library这对于实现带有自定义菜单和许多其他内容的 float 操作按钮来说非常棒。 但是在使用这个库时,我遇到了更改 FloatingActionMenu 中的 Float
我需要创建一个带有白色边框并填充纯色(蓝色或灰色)的 FAB。 xml 我尝试了 How to change android design support library FAB Button bo
我越来越熟悉新的 support.design 库,但我正面临 FloatingActionButton 的这个问题。我试图以编程方式隐藏它,但按钮始终可见。 我觉得 app:layout_ancho
我在 api 21+ 中使用 FloatingActionButton 它显示完全正常,但如果我在 api 20 中查看它- 那么它在后台有四行。 下面是我的FloatingActionButton的
我正在使用 FloatingActionButton 和 OnClick。我想显示 PopupMenu 并使用漂亮的动画(旋转 90 度)旋转相同的 FAB 按钮。 点击时,它应该自己动画: 我能够在
最近我从GitHub下载了一段代码,并同步到我的android studio。这样做时我遇到了很多错误和问题,并以某种方式修复了其中的大部分。但是,我现在遇到的最后一个问题是我的 android st
我正在使用 Android 支持 FloatingActionButton (FAB) 和 CoordinatorLayout,我想将 FAB 锚定到 CardView。 这是我的代码:
我正在尝试在我的应用程序中使用 float 操作按钮 (FAB)。但是,当我声明相同时,我得到了错误: android.support.design.widget.FloatingActionButt
我目前正在开发一个使用 FloatingActionButton 的 Android 应用程序。我想使用快速拨号来执行多个操作,如 this 中所述,旋转/跳出操作按钮。 Google 在 Andro
我找不到获得无边框 FAB 的方法。例如,当我尝试时: 我得到: 请注意 FAB 周围的边界。我已经尝试过 adjustViewBounds="true"和 android:background="
目前正在开发一个应用程序,我需要在 折叠工具栏 的右下角添加“共享”和“添加”按钮(视差效果)。 它可能隐藏在滚动中或可能位于 Actionbar 上。添加了我想要实现的图像。目前不知道如何执行此操作
我正在尝试创建一个带有如下图标的 FloatingActionButton:https://github.com/jd-alexander/LikeButton 如您所见,该按钮是动画,而不仅仅是两个
我是一名优秀的程序员,十分优秀!