0
난과 같이, 프로그램 원 비트 맵을 생성했다 :프로그래밍 방식으로 생성 된 비트 맵을보기에 배치하는 방법은 무엇입니까?
private Bitmap drawDotCircle() {
int circleSize = 100;
circleBitmap = Bitmap.createBitmap(
circleSize,
circleSize,
Bitmap.Config.ARGB_8888
);
canvas = new Canvas(circleBitmap);
CanvasRadius = Math.min(canvas.getWidth(), canvas.getHeight()/2);
// Create a Paint object used to paint the circle
paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED);
paint.setAntiAlias(true);
canvas.drawCircle(
canvas.getWidth()/2,
canvas.getHeight()/2,
CanvasRadius - CanvasPadding,
paint
);
return circleBitmap;
}
I는 I를 계산 한 절대 X 및 Y에 배치하고자; 다음과 같이 화면의 절대 중심을 가정합니다.
int dotX =getResources().getDisplayMetrics().widthPixels/2;
int dotY = getResources().getDisplayMetrics().heightPixels/2;
원이 뷰의 중앙에 배치되도록하려면 어떻게해야합니까? 나는 다음과 같은 코드를 시도하지만 원은 어떤 이유로 오프 센터 항상 :
RelativeLayout.LayoutParams layoutParams =
new RelativeLayout.LayoutParams(circleDot.getHeight(), circleDot.getHeight());
// Setting position of our ImageView
layoutParams.leftMargin = dotX;
layoutParams.topMargin = dotY;
// Finally Adding the imageView to RelativeLayout and its position
relativeLayout.addView(dotView, layoutParams);
그래도 이미지를 중앙에 배치 할 수 없습니다. 다음은 원래의 x 및 y 계산을 사용하여 배치 된 빨간색 점의 스크린 샷입니다 : http://i.imgur.com/t8VGB7c.jpg 그리고 제안 된 계산의 스크린 샷 : http : //i.imgur.com /V9X2zdW.jpg 두 경우 모두 점이 중앙에서 벗어납니다. – damememan