[英]Android - Unable to extend ImageView
我只是想擴展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會返回編譯錯誤:
此自定義視圖應該擴展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前Lollipop版本的設備上使用某些功能。
使用AppCompatImageView
, ImageView
現在就可以了。
對於那些尋找答案並正在使用androidx庫的人來說,這是一個更新。
是的,您仍然需要使用AppCompatImageView
,但只需使用新庫。 這是新的import語句:
import androidx.appcompat.widget.AppCompatImageView;
只需將此導入更改為其他答案即可 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.