0
OnDraw 메서드를 사용하여 캔버스에 직사각형을 그려서지도를 만들었습니다. 삼성 s2에서 완벽하게 작동했지만 s3에 캔버스를 설치하면 캔버스가 너무 작아 보입니다. 어떻게해야합니까?캔버스 레이아웃이 제대로 작동하지 않습니다.
나는 표면보기를 사용하여 직사각형을 그렸습니다.
OnDraw 메서드를 사용하여 캔버스에 직사각형을 그려서지도를 만들었습니다. 삼성 s2에서 완벽하게 작동했지만 s3에 캔버스를 설치하면 캔버스가 너무 작아 보입니다. 어떻게해야합니까?캔버스 레이아웃이 제대로 작동하지 않습니다.
나는 표면보기를 사용하여 직사각형을 그렸습니다.
갤럭시 S2는 hdpi이고 S3는 xhdpi이므로 사각형이 조금 더 작게 나타나는 이유는 아마도이 때문입니다. onMeasure를 재정의 (override) 한 다음 캔버스의 현재 높이와 너비를 기준으로 사각형의 높이와 너비를 설정하는 것이 좋습니다.
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int parentViewWidth = MeasureSpec.getSize(widthMeasureSpec);
int parentViewHeight = MeasureSpec.getSize(heightMeasureSpec);
// ... take into account the parent's size as needed ...
super.onMeasure(
MeasureSpec.makeMeasureSpec(newWidth, MeasureSpec.EXACTLY),
MeasureSpec.makeMeasureSpec(newHeight, MeasureSpec.EXACTLY));
}
편집 : 그냥 당신이 당신의 사각형을 그려보기하지 서피스 뷰 SurfaceView를 사용했다 깨달았다. onDraw에서 캔버스의 현재 높이와 너비를 가져오고 직사각형의 고정 된 치수를 하드 코딩하는 대신 이러한 치수를 기반으로 사각형을 그립니다. 희망이
나는 이미 가장 짧은 경로 분석을하고있다 사각형 좌표 coz와 별도의 데이터베이스를 구현했습니다. 그래서 어떤 이유로 든 직사각형 좌표를 변경할 수 없습니다. 나는 직사각형 좌표를 검색하는 웹 서비스를 가지고있다. 그것은 S2에 완벽하게 작동 ..하지만 S3 : (그리고 나는 그것을 고칠 수있는 방법을 몰라! – Ruby