为什么扩展 ImageView 标记为错误?
Why extends ImageView marked as error?
Android Studio 将此行标记为错误:
public class ParallaxView extends ImageView
这里报错:
This custom view should extend android.support.v7.widget.AppCompatImageView instead less... (Ctrl+F1)
In order to support features such as tinting, the appcompat library will automatically load special appcompat replacements for the builtin widgets.
However, this does not work for your own custom views. Instead of extending the android.widget classes directly, you should instead extend one of the delegate classes in android.support.v7.widget.AppCompat.
它建议我扩展 AppCompatImageView
但是我的 JUnit 测试没有通过,因为 AppCompatImageView
需要一个带有资源的模拟 Context
而 Imageview
不需要这个。
这里是解决另一个问题的问题:
我可以忽略这个错误并使用 ImageView 吗?还有其他解决方案吗?
使用 AppCompat
小部件可以让您在具有 Android 的 Lollipop 之前版本的设备上拥有一些 material 设计(和其他新)功能。
此时AppCompatImageView
仅提供对背景色调和矢量绘图的支持。如果你不使用它们,那么扩展常规 ImageView
就可以了。
这不是真正的错误。该应用程序构建成功,对吗?只有 Android Studio 将其标记为错误。
您可以通过编辑 'Appcompat Custom Widgets' 检查设置将其更改为警告。
Android Studio 将此行标记为错误:
public class ParallaxView extends ImageView
这里报错:
This custom view should extend android.support.v7.widget.AppCompatImageView instead less... (Ctrl+F1)
In order to support features such as tinting, the appcompat library will automatically load special appcompat replacements for the builtin widgets.
However, this does not work for your own custom views. Instead of extending the android.widget classes directly, you should instead extend one of the delegate classes in android.support.v7.widget.AppCompat.
它建议我扩展 AppCompatImageView
但是我的 JUnit 测试没有通过,因为 AppCompatImageView
需要一个带有资源的模拟 Context
而 Imageview
不需要这个。
这里是解决另一个问题的问题:
我可以忽略这个错误并使用 ImageView 吗?还有其他解决方案吗?
使用 AppCompat
小部件可以让您在具有 Android 的 Lollipop 之前版本的设备上拥有一些 material 设计(和其他新)功能。
此时AppCompatImageView
仅提供对背景色调和矢量绘图的支持。如果你不使用它们,那么扩展常规 ImageView
就可以了。
这不是真正的错误。该应用程序构建成功,对吗?只有 Android Studio 将其标记为错误。
您可以通过编辑 'Appcompat Custom Widgets' 检查设置将其更改为警告。