Eclipse-ADT的长期用户,我开始研究Android Studio,因为Web上的大多数示例现在都是使用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中不运行?
答案 0 :(得分:0)
很可能与项目中的哪些依赖项有关。
使用Gradle,您可以为依赖项版本号配置通配符,这意味着您的项目将始终具有该库的最新版本(无论好坏)
使用Eclipse-ANT,您最有可能使用静态版本号的手动下载和导入的库。您正在使用的特定版本是编译方形按钮
答案 1 :(得分:0)
终于开始工作了。问题是我从Application / src / main文件夹复制的AndroidManifest.xml没有min SDK和目标SDK版本 - 这两个版本都在build.gradle文件中的/ Application目录中定义。我添加了两个,现在FAB已经用阴影和所有颜色四舍五入。
由于我不能给自己奖励,我会给出能够进一步解释的答案,或者至少指出记录这种变化的事情。
答案 2 :(得分:0)
现在在AndroidStudio中你可以指定build.gradle中的大部分清单配置它首先会引用模块的build.gradle这个配置它对我所知道的很多东西很有帮助和需要。
Android studio和gradle为您提供了许多新功能,其中一个是构建类型和口味,使用它们可以用非常少的努力创建一个项目的新口味,请参阅eclipse,您需要为另一个项目创建一个全新的项目在android studio中你可以在单个项目中完成项目的风格。查看定义另一种风味时,您还可以定义一些仅适用于该风格的清单属性,就像您可以更改项目名称,包名称,最小sdk,目标sdk,版本,权限等。
只会有一个清单,所以如果您声明多种风格并定义这种更改而不是build.gradle文件将获取该更改并专门针对该风格应用于清单,以便您的清单将针对该风格进行更新。