안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
480 * 300 의 이미지를 가지고 아래와 같이 코딩을 하였습니다.
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(new MyView(this));
this.context = this.getBaseContext();
}
class MyView extends View{
public MyView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyView(Context context) {
super(context);
}
@Override
public void onDraw(Canvas canvas) {
Log.i("user", "canvas x : "+ canvas.getWidth() +" y : "+ canvas.getHeight());
Bitmap basePicture = BitmapFactory.decodeResource(context.getResources(), R.drawable.이미지);
canvas.drawBitmap(basePicture, 0, 0, null);
Log.i("user", "basePicture x : "+ basePicture.getWidth() +" y : "+ basePicture.getHeight());
super.onDraw(canvas);
}
}
가로모드로 했을때 (베터리 나오는 바제외) 에뮬에서는 화면에 꽉차게 나오는데 단말기(옵티머스큐)의 경우 화면에 꽉 차지 않습니다.
로그를 찍어보니 아래와 같이 나옵니다.
애뮬---
canvas x : 480 y : 320
user x : 480 y : 300
옵티머스큐--
canvas x : 800 y : 480
user x : 720 y : 450
제 짧은 소견으로는 단말기의 해상도(?)에 따라 다른것 같은데요.
단말기에 관계없이 화면에 꽉차게 하고 싶은데 어떻게 해줘야 하나요?
480 * 300 의 이미지를 가지고 아래와 같이 코딩을 하였습니다.
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(new MyView(this));
this.context = this.getBaseContext();
}
class MyView extends View{
public MyView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyView(Context context) {
super(context);
}
@Override
public void onDraw(Canvas canvas) {
Log.i("user", "canvas x : "+ canvas.getWidth() +" y : "+ canvas.getHeight());
Bitmap basePicture = BitmapFactory.decodeResource(context.getResources(), R.drawable.이미지);
canvas.drawBitmap(basePicture, 0, 0, null);
Log.i("user", "basePicture x : "+ basePicture.getWidth() +" y : "+ basePicture.getHeight());
super.onDraw(canvas);
}
}
가로모드로 했을때 (베터리 나오는 바제외) 에뮬에서는 화면에 꽉차게 나오는데 단말기(옵티머스큐)의 경우 화면에 꽉 차지 않습니다.
로그를 찍어보니 아래와 같이 나옵니다.
애뮬---
canvas x : 480 y : 320
user x : 480 y : 300
옵티머스큐--
canvas x : 800 y : 480
user x : 720 y : 450
제 짧은 소견으로는 단말기의 해상도(?)에 따라 다른것 같은데요.
단말기에 관계없이 화면에 꽉차게 하고 싶은데 어떻게 해줘야 하나요?

give & take




int width = getWindowManager().getDefaultDisplay().getWidth();