소개 : 3 비율의 이미지를, 여기에 내 카메라 클래스 I에서 XML
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageCapture">
</FrameLayout>
내 카메라입니다 이 객체에 대한 내 표면 뷰를 호출하십시오.
public FrameLayout preview;
//,,,
preview = (FrameLayout) rootView.findViewById(R.id.imageCapture);
//...
myCameraSurfaceView = new Surface(getActivity(), myCamera);
preview.addView(myCameraSurfaceView);
모두 매우 훌륭하게 작동하지만,! 아래와 같이 3 사진 :
문제는
내 카메라는 4 걸립니다 내가 원하는 3 사진 :
p.setPictureSize(bWidthFourThree, bHeightFourThree);
myCamera.setParameters(param);
그래서 내 캡처 된 이미지는 4입니다. BUT 내 카메라 미리보기 (framelayout/surfaceview 구현)가 전체 화면을 래핑합니다. 폭과 높이 모두 프레임 레이아웃에 대한 일치하는 부모 때문에 나는
가 지금은 문제가 무엇인지 알고 싶습니다 무엇
, 그것은 화면을 래핑합니다. 내가 원하는 것은 :
- bWidthFourThree, BHeightFourThree에 따라 프레임 레이아웃 매개 변수를 설정하십시오. 그러나 장치간에 이러한 변수는 다른 카메라 하드웨어 등으로 인해 변경 될 수 있으므로 너비와 높이를 하드 코드 할 수 없습니다. 또한 카메라의 SurfaceView는 Camera 클래스의 내부 클래스이므로 framelayout을 만들기 전에 카메라 해상도 변수를 얻는 방법을 알지 못합니다.
추가 정보가 필요하면 도움이됩니다. 알려주십시오.이 게시글을 업데이트하십시오.
xml에 FrameLayout이 없어도 새 인스턴스를 인스턴스화하고 (FrameLayout.LayoutParams를 통해) 레이아웃 매개 변수를 설정할 수 있으므로 인스턴스 그것은 당신이 카메라 치수를 가지고 후에. 그런 다음 FrameLayout을 다른 뷰 (LinearLayout, 즉)에 추가 할 수 있습니다. – FabioR
예를 들어 주시겠습니까, 그 뜻을 이해하는 것만으로도 구현할 수 있습니다. – PepsiVsCoke
대답으로 게시하겠습니다. – FabioR