2010-06-19 48 views
8

Ứng dụng của tôi chạy chính xác ở chế độ toàn màn hình khi ứng dụng được khởi động. Tuy nhiên sau khi giảm thiểu và sau đó quay lại ứng dụng, thanh trạng thái bật lên và đẩy chế độ xem của tôi xuống một chút. Làm thế nào tôi có thể giữ thanh trạng thái khỏi di chuyển quan điểm của tôi?Android - thanh trạng thái ngăn toàn màn hình

Dưới đây là cách bố trí của tôi:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:myapp="http://schemas.android.com/apk/res/com.example.draw" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
    <com.example.draw.DrawView 
     android:id="@+id/draw" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:visibility="visible" 
     android:fitsSystemWindows="false" 
    />  
<com.admob.android.ads.AdView  
     android:id="@+id/ad" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     myapp:backgroundColor="#000000" 
     myapp:primaryTextColor="#FFFFFF" 
     myapp:secondaryTextColor="#CCCCCC" 
     android:layout_gravity="bottom" 
/>  

Dưới đây là một phần của onCreate hoạt động của tôi:

requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
    WindowManager.LayoutParams.FLAG_FULLSCREEN); 

Tôi cũng có những chủ đề độ toàn màn hình trong biểu hiện:

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 

Cảm ơn

+0

Bạn đang sử dụng phiên bản SDK nào? Và bạn có đang chạy ứng dụng trong trình mô phỏng hoặc điện thoại thực không? Liệu có tạo sự khác biệt? –

+0

Xin chào, Bạn có thấy bất kỳ sự phiền toái nào cho vấn đề của mình không? – kgnkbyl

Trả lời

0

Chỉ cần android: theme = "@ android: style/Theme.NoTitleBar.Fullscreen" thuộc tính trên hoạt động của bạn trên tệp kê khai là đủ. Hy vọng công trình của nó

+2

Không. Tôi có điều này trong biểu hiện nhưng chỉ sử dụng điều này không giúp đỡ. –

16

Bạn có thể khắc phục vấn đề này với:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 

(làm điều đó trong onCreate) .... lưu ý điều này sẽ phá vỡ bàn phím mềm (IME) - như edittext không còn có thể trượt vào xem phía trên bàn phím. cờ đó ngăn chặn cửa sổ từ di chuyển ở tất cả ....

Nếu bạn cần một chỉnh sửa văn bản cũng làm việc trong khi sửa chữa các lỗi trạng thái mà bạn có thể làm

someEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
     public void onFocusChange(View v, boolean hasFocus) { 
      if (hasFocus) { 
       getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 
      } else { 
       hideKeyboard(); 
       getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 
      } 
     } 
    }); 
+0

Tôi đã gặp phải cùng một vấn đề về hai hoạt động khác nhau và giải pháp này hoàn hảo cho tôi. Cảm ơn bạn! – honeal

+0

Bạn có ý tưởng làm thế nào nó có thể được thực hiện trong XML, không phải trong thời gian chạy? Xem câu hỏi đã đăng của tôi: http://stackoverflow.com/questions/11215180/how-to-make-activity-theme-with-windowmanager-layoutparams-flag-layout-no-limits – Vadim

+0

hoạt động cho tôi. tuyệt quá! –

0

tôi đã cùng một vấn đề. Tôi đã thay đổi hoạt động cho quảng cáo chuyển tiếp và bị xóa: android: theme = "@ android: style/Theme.Translucent"

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