【问题标题】:Canot resolve android.support.v7.internal.widget.TintImageView无法解析 android.support.v7.internal.widget.Tint ImageView
【发布时间】:2016-03-27 07:11:15
【问题描述】:

我尝试将项目中的 compileSdkVersion 设置为 23,并更新了以下库:

  • com.android.support:appcompat-v7:23.1.1
  • com.android.support:recyclerview-v7:23.1.1
  • com.android.support:cardview-v7:23.1.1

从那以后我在导入android.support.v7.internal.widget.TintImageView时遇到错误

谁能告诉我为什么会这样? TintImageView 的包有什么变化吗?请帮忙。

我正在使用 Studio Preview 2.0

【问题讨论】:

  • 为什么?你在包名中看到internal了吗?
  • 我不明白。 “内部”是什么意思?
  • 编译SDK版本为22时运行正常。
  • 您是否在布局编辑器中收到此错误?
  • 没有。在 Java 文件中。

标签: android material-design android-appcompat


【解决方案1】:

使用它为ImageView 着色:

<android.support.v7.widget.AppCompatImageView
        android:id="@id/imageview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/my_image"
        android:tint="#636363"
    />

【讨论】:

    【解决方案2】:

    发生这种情况因为班级

    android.support.v7.internal.widget.TintImageView
    

    在 appcompat v 23.x.x 中不存在

    一般不要使用internal 包中的类。

    您可以在文件夹androidsdk\extras\android\m2repository\com\android\support\appcompat-v7\中查看来源。

    你应该切换到AppCompatImageView

    支持旧版本平台兼容功能的 ImageView,包括:

    • 允许通过 ViewCompat 中的背景着色方法对其背景进行动态着色。
    • 允许使用 backgroundTint 和 backgroundTintMode 设置背景色调。

    这将在您在布局中使用 ImageView 时自动使用。您应该只需要在编写自定义视图时手动使用此类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-25
      • 2021-01-28
      相关资源
      最近更新 更多