我只是想扩展 ImageView:
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 返回编译错误:
This custom view should extend android.support.v7.widget.AppCompatImageView instead
但是导入 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 中,你输入的就是你使用的。换句话说,你输入你想用的
关于java - Android - 无法扩展 ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43275603/