콤파스인데요..
크기가 딱 이미지 크기만큼 나오게 하고픈데.. xml로 넣으면(wrap_content) 계속 뷰 자체는 화면 전체를 차지하고 이미지만 원래 크기대로 나옵니다..
(사실 이미지도 원래 크기가 아닌 원래크기보다 약간 크게 나옵니다;; 뭔지 ;;)
뷰 자체가 딱 이미지 크기대로 나오게 하려는데 되체 어딜 건들여야 되는지 ㅠㅠ
전체 코드 입니다..
생성자에 아래 코드를 this.setLayoutParams(new LayoutParams(300,300)); 이걸 넣으면 될줄 알았는데 안되네요..
public class CompassView extends View implements SensorEventListener {
float azimuth;
Bitmap compass;
public CompassView(Context context, AttributeSet attr){
super(context, attr);
compass = BitmapFactory.decodeResource(getResources(), R.drawable.compass);
}
public void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
}
public void onAccuracyChanged(Sensor sensor, int accuracy) { }
public void onSensorChanged(SensorEvent event) {
float[] v = event.values;
switch (event.sensor.getType()) {
case Sensor.TYPE_ORIENTATION:
if (azimuth != v[0]) {
azimuth = v[0];
invalidate();
}
break;
}
}
public void onDraw(Canvas canvas) {
Paint Pnt = new Paint();
Pnt.setAntiAlias(true);
// 나침반 표시
Matrix m = new Matrix();
m.postRotate(-azimuth, compass.getWidth()/2, compass.getHeight()/2);
canvas.drawBitmap(compass, m, Pnt);
}
}