FloatingActionButton 示例适用于 Android Studio,但不适用于 Eclipse

Posted

技术标签:

【中文标题】FloatingActionButton 示例适用于 Android Studio,但不适用于 Eclipse【英文标题】:FloatingActionButton sample works in Android Studio but not in Eclipse 【发布时间】:2015-03-07 15:14:34 【问题描述】:

Eclipse-ADT 的老用户,我已经开始研究 android Studio,因为现在网络上的大多数示例都是用 gradle 构建的。现在我刚刚在我的机器上安装了 Android Studio,并正在尝试来自 developer.android.com 的示例,特别是这个:FloatingActionButton

我在 Android Studio 中导入了项目,在我的 Nexus 5 上运行它,工作正常。 FAB 是圆形的,有阴影等等。

现在出于好奇,我尝试在 Eclipse 中构建相同的项目。所以我启动了 Eclipse,创建了一个新项目,将 Application 文件夹中的所有内容复制粘贴到正确的目标位置,然后在同一设备上运行该项目。

按钮是方形的。

查看代码,以下几行负责给按钮一个圆形如下:

在 FloatingActionButton.java 下

setOutlineProvider(new ViewOutlineProvider() 
        @Override
        public void getOutline(View view, Outline outline) 
            outline.setOval(0, 0, getWidth(), getHeight());
        
    );

setClipToOutline(true);

现在的问题是,为什么这些 sn-ps 代码可以在 Android Studio 上运行,而不能在 Eclipse 上运行?

【问题讨论】:

【参考方案1】:

这很可能与您的项目中的依赖项有关。

使用 Gradle,您可以为依赖版本号配置通配符,这意味着您的项目将始终拥有该库的最新版本(无论好坏)

使用 Eclipse-ANT,您很可能使用手动下载和导入的静态版本号库。您正在使用的特定版本正在编译方形按钮

【讨论】:

【参考方案2】:

终于搞定了。问题是我从 Application/src/main 文件夹复制的 AndroidManifest.xml 没有最小 SDK 和目标 SDK 版本——这两者都在 /Application 目录的 build.gradle 文件中定义.我添加了两者,FAB 现在都被阴影和所有圆角包围了。

由于我不能给自己赏金,我会把它给可以进一步解释的答案,或者至少指出一些记录这一变化的东西。

【讨论】:

【参考方案3】:

现在,在 AndroidStudio 中,您可以在 build.gradle 中指定大部分清单配置,它首先会引用模块的 build.gradle 来进行此配置,它对我知道的许多事情很有帮助和需要,如下所示。

Android studio 和 gradle 为您提供了许多新功能,其中之一是构建类型和风格,使用它们您可以用更少的努力创建一个项目的新风格,在 eclipse 中您需要为另一个项目创建一个全新的项目在 android studio 中,您可以在单个项目中完成项目的风格。当您定义另一种风格时,您还可以定义一些仅适用于该风格的清单属性,例如您可以更改项目名称、包名称、最小 sdk、目标 sdk、版本、权限等。

只有一个清单,因此如果您声明多种风格并定义此类更改,那么 build.gradle 文件将获取该更改并专门应用于该风格的清单,因此您的清单将针对该风格进行更新。

【讨论】:

以上是关于FloatingActionButton 示例适用于 Android Studio,但不适用于 Eclipse的主要内容,如果未能解决你的问题,请参考以下文章

FloatingActionButton 展开成一个新的活动

使 Material-UI Reactjs FloatingActionButton 浮动

android FloatingActionButton

Flutter创建圆圈图标按钮

关于FloatingActionButton

FloatingActionButton的使用