2011-01-14 52 views
5

Tôi đã biết cách hiển thị Hoạt động của mình ở chế độ toàn màn hình trên Android, bây giờ tôi cần vẽ Hình ảnh trong màn hình này.Vẽ hình ảnh trên chế độ toàn màn hình Android

Đây là bố cục XML của tôi.

<?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> 

Hình ảnh này được tạo động và được vẽ trong ImageView.

Đây là mã của tôi trên Hoạt động của tôi.

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); 
} 

Nhưng khi chạy, Hoạt động là toàn màn hình, nhưng ImageView được điều chỉnh ở chính giữa.

Có vấn đề gì?

Tôi đã thêm mã sau đây để xem kích thước thành phần.

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() + "]"); 

Kết quả này trong [w = 320: h = 480] trong cả hai trường hợp.

Đây là phương pháp vẽ của tôi.

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); 
} 

Trả lời

7

Thêm android:scaleType="fitXY" cho bạn imageview

+0

Vẫn không hoạt động. –

+0

Bằng cách thiết lập fitXY nó sẽ Quy mô trong X và Y một cách độc lập, do đó src phù hợp với chính xác dst. Và nó làm việc tốt cho tôi. Bằng cách nào bạn thiết lập hình ảnh. Thêm mã cài đặt hình ảnh của bạn –

+0

phương thức vẽ được thêm vào. ty. –

0

Ngoài thiết android:scaleType="fitXY", người ta có thể loại bỏ các thanh tiêu đề hoạt động để thực hiện một hình ảnh thực sự toàn màn hình sử dụng một trong các phương pháp:

Set sở thích Window trước setContentView()

requestWindowFeature(Window.FEATURE_NO_TITLE); 

Hoặc đặt tùy chọn chủ đề trong tệp AndroidManifest

android:theme="@android:style/Theme.NoTitleBar" 
Các vấn đề liên quan