Java Android-无法扩展ImageView
我只想扩展ImageView:Java Android-无法扩展ImageView,java,android,android-custom-view,Java,Android,Android Custom View,我只想扩展ImageView: import android.content.Context; import android.util.AttributeSet; import android.widget.ImageView; public class SquareImageView extends ImageView { public SquareImageView(Context context) { super(context); } pub
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ImageView;
public class SquareImageView extends ImageView {
public SquareImageView(Context context) {
super(context);
}
public SquareImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SquareImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = getMeasuredWidth();
setMeasuredDimension(width, width);
}
}
但是Android Studio返回编译错误:
此自定义视图应扩展
改为android.support.v7.widget.AppCompatImageView
但是导入android.support.v7.widget.AppCompatImageView
而不是android.widget.ImageView
并不能解决问题,因为ImageView被标记为未导入
我做错了什么?这很好用
import android.content.Context;
import android.support.v7.widget.AppCompatImageView;
import android.util.AttributeSet;
public class CustomImageView extends AppCompatImageView {
public CustomImageView(Context context) {
super(context);
}
public CustomImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
}
导入
AppCompatImageView
时,也必须使用它。不仅如此,在JAVA中,导入的内容就是您使用的内容。换言之,您可以使用AppCompat
小部件导入您想要使用的内容。小部件允许您在具有Android棒棒糖前版本的设备上拥有一些功能
使用
AppCompatImageView
,ImageView
现在就可以了。对于那些正在寻找答案并使用androidx库的人,这里有一个更新
是的,您仍然需要使用AppCompatImageView
,但只需使用新的库即可。以下是新的导入声明:
导入androidx.appcompat.widget.AppCompatImageView代码>
只需将此导入更改为此即可。您还必须更改扩展部分
部分;不仅仅是导入
-公共类SquareImageView扩展了AppCompatImageView
SquareImageView扩展了android.support.v7.widget.AppCompatImageView
看起来不错,但我使用的是androidx,而不是v7。这意味着此导入语句不起作用(无法解析符号“v7”
)。