0

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);

现在的问题是,为什么这些代码片段可以在 Android Studio 上运行,但不能在 Eclipse 上运行?

4

3 回答 3

0

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

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

于 2015-01-11T22:19:53.713 回答
0

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

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

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

于 2015-01-11T22:04:11.103 回答
0

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

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

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

于 2015-01-15T14:08:13.023 回答