我已經知道如何在Android上獲取我的Activity作爲全屏,現在我需要在此屏幕上繪製圖像。在FullScreen模式下繪製圖像Android
這是我的XML佈局。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:id="@+id/image01" android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
該圖像是動態生成的,並在ImageView中繪製。
這是我的活動中的代碼。
public void onCreate(Bundle savedInstance) {
super.onCreate(savedInstance);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
}
但是在運行時,Activity是FullScreen,但ImageView是在中心調整的。
怎麼了?
我添加了下面的代碼來查看組件的尺寸。
View view = getWindow().getDecorView();
Log.i("RMSDK:J:IbaReader(decor)",
"[w=" + view.getWidth() + ":h=" + view.getHeight() + "]");
Log.i("RMSDK:J:IbaReader(img)",
"[w=" + img.getWidth() + ":h=" + img.getHeight() + "]");
這導致兩種情況下[w = 320:h = 480]。
這是我的繪製方法。
private void draw() {
byte[] image = services.getImageBuffer(600, 1024);
Bitmap bmp = Bitmap.createBitmap(600, 1024, Bitmap.Config.RGB_565);
int row = 0, col = 0;
for (int i = 0; i < image.length; i += 3) {
bmp.setPixel(col++, row, image[i + 2] & image[i + 1] & image[i]);
if (col == 600) {
col = 0;
row++;
}
}
img.setImageBitmap(bmp);
}
仍然無法使用。 – 2011-01-14 19:09:02