일부 드로잉 작업을 수행하기 위해 표면 뷰를 사용했습니다. 내보기는 확대/축소 기능을 지원합니다. 이제 사용자가 손가락 제스처로 확대/축소 할 때 표면 뷰의 크기를 조정하려는 경우 표면 뷰의 레이아웃 매개 변수를 변경하여 크기 조정을 시도했습니다. 이 작업은 가능하지만 느리고 크기 조정 작업을 수행하는 동안 큰 점프 (지연)가 발생합니다. 이는 쓸모가 없습니다. 여기, 나는 그 점프없이 표면 뷰의 크기를 어떻게 효율적으로 조절할 수 있는지 알고 싶습니다. 내보기 구조 스닙 여기런타임에보기 크기를 효율적으로 변경합니다.
, 코드를 변경
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:layout_width="match_parent"
android:fillViewport="true"
android:layout_above="@+id/bottomMenu"
android:layout_height="match_parent">
<MySurfaceView
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</FrameLayout> ...
그리고 PARAMS, 내가 고정 캔버스 크기를 설정하는 SurfaceHolder에하는 방법을 발견 결국 잘
ViewGroup.LayoutParams params = surface.getLayoutParams();
params.height = (int) (750*factor);
surface.setLayoutParams(params);
['TextureView'] (https://developer.android.com/reference/android/view/TextureView.html) 사용을 고려 했습니까? – azizbekian
참조 http://stackoverflow.com/a/21282056/4069985 –