簡體   English   中英

Android - 無法擴展ImageView

[英]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.AppCompatImageViewandroid.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版本的設備上使用某些功能。

使用AppCompatImageViewImageView現在就可以了。

對於那些尋找答案並正在使用androidx庫的人來說,這是一個更新。

是的,您仍然需要使用AppCompatImageView ,但只需使用新庫。 這是新的import語句:

import androidx.appcompat.widget.AppCompatImageView;

只需將此導入更改為其他答案即可

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM