【发布时间】:2016-04-01 12:52:52
【问题描述】:
所以我想创建一个支持棒棒糖及以上设备的应用仅。
但我有一个用例需要Snackbar 和UNDO 选项。看完之后,看来我必须:
- 使用
CoordinatorLayout(支持库一) - 使用
AppCompatActivity,而不是Activity - 使用
Theme.AppCompat.(...)而不是android:Theme.Material - 更改应用程序中的所有其他视图,包括
ActionBar只是为了与AppCompat兼容(有点讽刺)
这真的是使用Snackbar 之类的基本功能的唯一方法吗 - 必须在其他地方重写所有内容?
请告诉我有更好的出路。这没有任何意义!
【问题讨论】:
-
你试过了吗? CoordinatorLayout 不能与普通 Activity 一起使用吗?
-
试过了,但它只是崩溃了。看来这些事情都需要做!
12-27 18:51:33.441 2199-2199/? E/AndroidRuntime: Process: com.example.perfectday, PID: 2199 12-27 18:51:33.441 2199-2199/? E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.perfectday/com.example.perfectday.MainActivity}: android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class android.support.design.widget.CoordinatorLayout -
我试过了,堆栈跟踪的关键部分在这里:
Caused by: java.lang.IllegalArgumentException: You need to use a Theme.AppCompat theme (or descendant) with the design library. at android.support.design.widget.ThemeUtils.checkAppCompatTheme(ThemeUtils.java:34) at android.support.design.widget.CoordinatorLayout.<init>(CoordinatorLayout.java:178)。所以是的,你需要使用 appcompat 来使用设计库。 -
是的,我就是这么想的。这太糟糕了!
标签: android android-support-library android-snackbar snackbar