2014-12-30 2 views
0

나는이 이미지에 대한 xml 파일의 코드가 있습니다변경 이미지 레이아웃 및 위치

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == TAKE_PHOTO_CODE && resultCode == EditProfileActivity.RESULT_OK) { 
     Log.d("CameraDemo", "Pic saved"); 

     File imgFile = new File(dir+"123.jpg"); 

     Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); 
     cus_profile_pic.setImageBitmap(myBitmap); 
    } 
} 

모든 제외하고있다

<ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/moneybag" 
     android:src="@drawable/bee" 
     android:background="@color/white" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 

내가 클릭에 새로운 이미지를 업로드하고를 .. 이미지 크기. 카메라에서 이미지를 캡처 한 후 큰 이미지가 나타납니다. 동일한 너비와 높이 (xml과 같이)로 같은 위치에서 이미지를 얻으려면 어떻게해야합니까?

감사합니다.

답변

1

시도했습니다

android:scaleType="fitCenter" 

+0

제가 새로운 이미지를 업로드 한 후 자바로부터의 이미지 파라미터를 설정할 CENTER_INSIDE하는

4) 변경 scaleType (0 DP는 그 높이의 종횡비를 유지하기 위해 콘텐츠에 따른 동적 수단). 이전 이미지를 새 이미지로 바꿉니다. 그래서, 전과 똑같은 포지셔닝을 원합니다. 나는 중심에 이미지를 원하지 않는다. –

+0

교체하기 전에 최종 이미지의 너비와 높이를 프로그래밍 방식으로 가져온 다음 이미지를 바꾸고 마지막 이미지 너비와 높이를 설정하고 scaleType을 centerCrop으로 설정하십시오 –

+0

어떻게 설정해야할지 모르겠습니다. 이러한 매개 변수를 설정하는 코드를 입력 해 주시겠습니까? –

0

을 가지고 RelativeLayout의 그래서 위의 예에서 대신의 LinearLayout의 RelativeLayout의를 사용하는 경우

LinearLayout.LayoutParams lp = imageView.getLayoutParams(); 
lp.width = lastImageWidth; 
lp.height = lastImageHeight; 
imageView.setLayoutParams(lp); 

: 귀하의 이미지 뷰의 부모가이 작업을 수행해야 있도록있는 LinearLayout 인 경우의 LayoutParams을 만들 이미지 크기 설정에 대한

+0

사진을 찍은 후. 그것은 기본 매개 변수를 유지하지 않습니다. 그 이미지를 새로운 이미지로 바꿀 때. 그것은 큰 이미지로오고 있습니다. –

0

이것은 사용중인 테스트 장치에 따라 변경됩니다. 따라서 문제는 이미지가 얼마나 큰지에 관한 문제가 아닙니다. 사진 해상도, 장치 화면 밀도 및 실제 화면 크기는 다양합니다. 따라서 이미지의 위치와 크기가 변경됩니다.

ImageView 또는 ImageButton은 이미지 자체를 렌더링하지만 이미지의 해상도에 따라 달라집니다. 따라서 작은 컨테이너 (imageview 또는 imagebutton)에 비트 맵을 넣는 것을 고려하면 컨테이너는 크기 또는 화면 크기에 맞게 이미지의 크기를 줄입니다. 이 축소 작업은 선택한 scaleType에 따라 이미지의 가로 세로 비율을 유지해야합니다.

그래서 당신이 할 수있는 이런 일 : 1) (오히려 다음 랩 내용이) 특정 크기

3 줄의 폭 match_parent을 확인 말하는 이미지 뷰

2)에 넣기 전에 비트 맵을 확장하고 서로를 넣어 어쩌면 투명) 더미 뷰를 그 옆에 놓고 높이를 0dp로 만들고 adjustViewBounds 속성을 true로 만듭니다.

관련 문제