【问题标题】:Snackbar with API 21带有 API 21 的小吃吧
【发布时间】:2015-02-13 19:57:00
【问题描述】:

我正在尝试在我的应用中实现新的 Snackbars,但我做不到。首先,我从this SnackBarSampleActivity 下载了 zip 文件。
我将其解压缩,然后将其导入 Eclipse。现在,styles.xml 中的主题父级出现错误 retrieving parent...
我将其更改为android:Theme.Light,错误消失了。我右键单击项目并在 Properties/Android 中检查 isLibrary,我右键单击我的应用程序并在 Properties/Android 中添加库。最后我粘贴代码以显示Snackbar,但我收到错误,因为Snackbar cannot be resolved
请有人帮助我!我要疯了,我做错了什么?

【问题讨论】:

    标签: java android material-design android-design-library android-snackbar


    【解决方案1】:

    有了新的Design Support Library,您可以使用官方的SnackBar Widget。

    只需将此依赖项添加到您的app -> build.gradle

    implementation 'com.android.support:design:28.0.0'
    

    并使用类似的东西:

    Snackbar.make(view, "Snackbar", Snackbar.LENGTH_LONG).show();
    

    完整示例,在 Kotlin 中

            val fab = findViewById(R.id.btn_signin) as Button
            fab.setOnClickListener(View.OnClickListener { view ->
                Snackbar.make(view, "FloatingActionButton is clicked", Snackbar.LENGTH_INDEFINITE)
                        .setAction("Action", null).show()
            })
    

    【讨论】:

    【解决方案2】:

    您应该尝试使用 Android Studio,因为 Eclipse 的 ADT 插件不再处于积极开发中。

    在 Android Studio 中,您只需在 build.gradle 依赖项中添加一行 compile 'com.nispok:snackbar:2.6.1',这样

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.2'
        compile 'com.nispok:snackbar:2.6.1'
    }
    

    就是这样。

    【讨论】:

    • 我想我会试一试。总的来说和eclipse类似吗?
    • 当然是,比eclipse好,比如Auto-complete和Extract,现在是官方IDE
    • 你试过了吗?如果可行,请将此答案标记为最佳,谢谢
    • 今天晚些时候我会尝试它,如果它有效,我会标记你的答案,别担心:)
    【解决方案3】:

    如果您在 Eclipse 中遇到 Snackbar 的“未解决类型”问题, 这对我有用。

    右击Project->BuildPath->Configure Buildpath 点击Libraries Tab,然后点击Add external Libraries。

    选择{path of adt}/sdk/extras/android/support/design/libs 选择android-support-design.jar,点击打开添加这个库。

    点击确定。

    【讨论】:

      【解决方案4】:

      请将以下代码添加到 build.gradle 文件中

      implementation 'com.android.support:design:28.0.0'
      

      然后单击立即同步按钮,它将起作用。

      【讨论】:

      • 你能解释一下你做了什么吗?
      【解决方案5】:

      对于 Eclipse 开发人员

      1. 按照 github 中给出的说明导入 SnackBar 项目
      2. 右击java文件夹,点击build path > add as source folder
      3. 添加这些行/更改 SnackBar 项目的 AndroidManifest.xml 如下

        <uses-sdk android:minSdkVersion="7"
            android:targetSdkVersion="22"/>
        <application />
        

      package="com.nispok.snackbar"

      1. 在 SnackBar 项目中添加以下 dependencies

      android-support-v7-appcompat: 21
      android-support-v7-recyclerview: 21

      1. 最后在项目属性中将项目构建目标设置为 API 22。

      这对你有用,祝你编码愉快..

      【讨论】:

        【解决方案6】:

        在你的 build.gradle (Module: app) 里面添加这个依赖:

        implementation 'com.android.support:design:28.0.0'
        

        implementation 'com.dmitrymalkovich.android:material-design-dimens:1.4'
        

        完整代码:

        dependencies {
            implementation 'com.android.support:design:28.0.0'
        }
        

        dependencies {
            implementation 'com.dmitrymalkovich.android:material-design-dimens:1.4'
        }
        

        【讨论】:

          猜你喜欢
          • 2020-02-20
          • 2020-09-07
          • 2018-07-03
          • 2020-10-18
          • 1970-01-01
          • 2018-09-13
          • 2018-09-12
          • 2019-07-24
          • 2018-11-16
          相关资源
          最近更新 更多