마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

뷰를 리사이즈 해서 배치하는데 이상한 현상을 발견했습니다.

0 추천
public void Image_Location(ImageView img,int x,int y) //이미지 좌표 리사이즈 
{
 
if(img.getParent().toString().contains("RelativeLayout"))
{
RelativeLayout.LayoutParams params=null;
params=(RelativeLayout.LayoutParams)img.getLayoutParams();
params.leftMargin=(int) (x*Draw_rate);
params.topMargin=(int) (y*Draw_rate);
img.setLayoutParams(params);
System.out.println("OKAY RE");
img.invalidate();
}
else if(img.getParent().toString().contains("LinearLayout"))
{
LinearLayout.LayoutParams params=null;
params=(LinearLayout.LayoutParams)img.getLayoutParams();
params.leftMargin=(int) (x*Draw_rate);
params.topMargin=(int) (y*Draw_rate);
 
img.setLayoutParams(params);
img.invalidate();
}
else if(img.getParent().toString().contains("FrameLayout"))
{
FrameLayout.LayoutParams params=null;
params=(FrameLayout.LayoutParams)img.getLayoutParams();
params.leftMargin=(int) (x*Draw_rate);
params.topMargin=(int) (y*Draw_rate);
img.setLayoutParams(params);
img.invalidate();
}
 
}
 
public void Image_ReSize(ViewGroup View,int width,int height) //이미지 크기 리사이즈
{
 
LayoutParams params=null;
 
params=(LayoutParams)View.getLayoutParams();
params.width=(int)(width*Draw_rate);
params.height=(int)(height*Draw_rate);
 
View.setLayoutParams(params);
}
 
이런식으로 화면 별로 크기를 리사이즈 해주고 배치하고있는데 
 
프레임 레이아웃에 이미지뷰 를 넣고 프레임레이아웃 크기를 이미지뷰의 크기 만큼 만들어서 넣었습니다.
 
화면 안에 배치되여 있으면서 실행하면 이상없이 잘출력이되는데 
 
화면안에 배치되어있지 않고 중간정도 밖에 나가있으면 그만큼 짤려서 보이더군요 그래서 출력해보니까 실제로 레이아웃 값도 짤린만큼 작아져있었습니다.  왜 이런현상이 일어나는거죠 ? 기능상 화면 밖에서 안으로 들어오는 레이아웃인데 ..
이미지가 잘려버려서 난감합니다.

 

익명사용자 님이 2015년 2월 23일 질문
그림을 캡쳐해서 올려줄수 있나요?

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...