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 データをセットした時のみ。