【问题标题】:Why can't I use a FloatingActionButton in Activity为什么我不能在 Activity 中使用 FloatingActionButton
【发布时间】:2018-01-25 03:31:57
【问题描述】:

我是 Android 开发的新手,但我能问一下为什么 Activity 不支持 FAB,只支持 AppCompactActivity。如果我错了,请纠正我,但我的理解是,只要您不为向后兼容性而烦恼,那么使用 Activity 是可以使用的,因为您可以直接实现材料主题并使用最新的材料设计,如 CardViews RecyclerView s 和其他布局,如CoordinatorLayout。那么为什么当你想使用像 FAB 这样的材料设计功能时,它会强制你使用AppCompactActivity,我认为使用支持更高 API 的那个会起作用。我在这里遗漏了什么吗?我知道我可以使用第三方库,但我真的需要弄清楚这一点......

【问题讨论】:

  • Why then when you want to use a material design feature like the FAB? 因为你想要它。

标签: android android-layout material-design


【解决方案1】:

FloatingActionButton 不是核心 android 库的一部分。相反,它是 android 支持设计库的一部分。

compile "com.android.support:design:27.0.2"

这意味着这个类没有预装在安卓设备中。同样要使用它,您的活动必须使用AppCompat 主题之一。因此,您需要使用 appcompat 库来使用默认 FAB。

compile "com.android.support:appcompat-v7:27.0.2"

但是,您可以在 GitHub 中找到许多用于 FAB 的开源第三方库。

【讨论】:

  • 感谢您的回复,但我能问一下,在 Android 开发方面主要推动使用材料设计原则,FAB 是其中的一部分吗?那么,如果我想创建一个应用程序来充分利用所有最新的 Material Design Principle 小部件、视图和布局并支持 21 多种设备,我可以不使用 Activity 中的 FAB 吗?我还在学习 Android 开发,所以如果这是我要推动的一个非常愚蠢的观点,我很抱歉,但我就是不明白
  • 我不太清楚他们为什么决定不在核心库中包含设计组件。但他们仍然开发了设计支持库和 appcompat 库,您可以使用它们在最新和旧版本的 android 中提供材料设计。 appcompat 库的唯一缺点是它会为您的 apk 大小增加大约 1MB,不过这没什么大不了的。
  • 因此,如果我使用 AppCompactActivity 和设计支持库创建一个应用程序,我将无法创建任何东西(因为有什么我可以创建的,我是我可以创建的 Activity '不在 AppCompactActivity 中?)如何使用 AppCompactActivity 应用完整的应用材质主题?
  • 由于AppCompatActivityActivity 的子类,您可以使用AppCompatActivity 来使用Activity 的所有功能。
猜你喜欢
  • 1970-01-01
  • 2019-06-07
  • 1970-01-01
  • 1970-01-01
  • 2021-05-20
  • 2015-04-02
  • 2012-05-02
  • 2017-03-30
  • 2015-09-03
相关资源
最近更新 更多