[메서드]
public static int[] getScaleSizeByWidth(final Context ctx,final int imgId,final int wid){
Bitmap bm = BitmapFactory.decodeResource(ctx.getResources(), imgId);
if(bm!=null){
int viewWeight = wid;
float width = bm.getWidth();
float height = bm.getHeight();
float percente = (float)(width / 100);
float scale = (float)(viewWeight / percente);
width *= (scale / 100);
height *= (scale / 100);
//bm.recycle();
int[] i = new int[2];
i[0] = (int)width;
i[1] = (int)height;
return i;
}else{
int[] i = new int[2];
i[0] = 0;
i[1] = 0;
return i;
}
}
[사용 부분]
@Override
public void onWindowFocusChanged(boolean hasFocus) {
ImageView ivKakao = (ImageView)findViewById(R.id.kakaoimg);
if(hasFocus==true){
int[] si = getScaleSizeByWidth(KakaoStoryLink.this,R.drawable.kakostoryback, ivKakao.getWidth());
ivKakao.getLayoutParams().width = si[0];
ivKakao.getLayoutParams().height = si[1];
Log.i("LOSA",ivKakao.getWidth()+"");
}
}
Activity에 onWindowFocusChanged 부분에서만 이미지 width 값을 알수가 있다 onCreate 부분에서는 알수없음
'android' 카테고리의 다른 글
[android]Activity 동시에 종료하기 (0) | 2014.10.15 |
---|---|
[android] URL주소에서 이미지를 가져와 이미지뷰에 보여주기 (0) | 2014.10.02 |
android 텍스트뷰 특수문자 넣기 (0) | 2014.09.30 |
1초마다 증가하는 쓰래드 (0) | 2014.09.29 |
android 릴리즈키 확인방법 (0) | 2014.09.29 |