タブレット用プログラムの書き止め

android OS & iPadOS の記録。

基礎研究。ImageView の継承。

2021-08-26 13:20:23 | Android studio 日記

 imageView にセットした原画像のサイズが取得できないので継承を使い、プロパティで保存しておく。

 

public class MyImageView extends AppCompatImageView {

    /* お約束の3メソッド */
    public MyImageView(Context context, AttributeSet attrs, int defStyle){
        super(context, attrs, defStyle);
    }

    public MyImageView(Context context, AttributeSet attrs){
        super(context, attrs);
    }

    public MyImageView(Context context){
        super(context);
    }
    /*********/

    private int myImageWidth;  // セットした時の原画サイズ
    private int myImageHeight;

    @Override
    public void setImageBitmap(Bitmap bm) {
        myImageWidth = bm.getWidth();
        myImageHeight = bm.getHeight();
        super.setImageBitmap(bm); // 元のメソッドを忘れずに呼ぶ
    }

    public int getImageWidth() {
        return myImageWidth;
    }

    public int getImageHeight() {
        return myImageHeight;
    }
}

 

【xml】ファイル記入例

    <com.android.test2.MyImageView
        android:id="@+id/image_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

 

 

 bitmap データをセットした時のみ。