2013-01-18 38 views
7

Tôi đang thiết hình ảnh như cửa sổ background:nền Window được cắt bớt thanh trạng thái

<style name="AppTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:windowBackground">@drawable/bg_window</item> 
</style> 

Nó hoạt động cho máy tính bảng và cửa sổ toàn màn hình:

enter image description here

nhưng trên chiếc điện thoại nó được cắt bớt thanh trạng thái:

enter image description here

Đây có phải là cách mọi thứ hoạt động không? Làm thế nào để tránh nó? Tất nhiên, tôi có thể thiết lập nền cho mỗi bố cục, nhưng tôi muốn biết nếu đây là cách duy nhất để giải quyết vấn đề.

Trả lời

2

Thử theo cách sau ..

<style name="AppTheme" parent="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"> 
<item name="android:windowBackground">@drawable/bg_window</item> 
</style> 

:)

+0

Đó chắc chắn là một lựa chọn, nhưng thanh trạng thái sẽ inaccesible trên điện thoại, và tôi không muốn điều đó xảy ra. –

+0

Một tùy chọn khác là đặt hình nền làm nền bố cục chính. – Anu

+0

Tôi đã đề cập đến cách tiếp cận này trong câu hỏi của mình. –

3

Giải pháp của tôi cho vấn đề này (ít nhất là cho điện thoại) là tạo ra một drawable xml với chiều cao statusbar như đỉnh bù đắp

ví dụ drawable/window_background.xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:top="25dp"> 
     <bitmap android:src="@drawable/some_background" /> 
    </item> 
</layer-list> 

Điều này sẽ không hoạt động nếu thanh trạng thái ở dưới cùng.

EDIT: thay đổi nội dung câu trả lời cho sử dụng một drawable xml duy nhất, như sugested bởi Aleksejs Mjaliks

+0

có, tôi cần ứng dụng của mình chạy cả trên máy tính bảng và điện thoại. Nhưng cảm ơn cho ý tưởng anyway. –

+0

Chỉ cần có một ý tưởng khác. Thay vì các xml khác nhau cho từng kích thước thanh trạng thái, chúng tôi có thể xác định độ mờ cho chiều cao này trong các thư mục giá trị khác nhau, ví dụ: và trong giá trị-sw720dp-đất này có thể là 0dp. Hoặc chúng ta có thể đặt một window_background.xml khác trong các thư mục có thể draw-swxxx cho máy tính bảng. – Zarokka

+0

Một số máy tính bảng 7 "(ví dụ: Tab Galaxy) có thể có thanh trạng thái ở trên cùng hoặc ở cuối màn hình. Tôi không chắc chắn, nhưng có vẻ như nó phụ thuộc vào phiên bản Android được cài đặt. –

Các vấn đề liên quan