2012-01-01 164 views
3

我在將問題設置爲全屏時出現問題。當我將動作設置爲全屏時,佈局向下移動,它不會從屏幕的頂部邊緣繪製。但當按下菜單按鈕和顯示的菜單時,它將自行修復。Android全屏佈局位置

我把它設置爲全屏,代碼如下: setTheme(android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);

我也使壁紙可以看到並隱藏標題欄。

TestActivity.java:

package com.test.fullscreen; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.WindowManager; 

public class TestActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     setTheme(android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 
     getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER); 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 
} 

的main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <EditText 
     android:id="@+id/inputBox" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#66303030" 
     android:cursorVisible="true" 
     android:hint="Text" 
     android:paddingLeft="7dp" 
     android:paddingRight="17dp" 
     android:textColor="#ffffff" 
     android:textSize="24dp" /> 

</LinearLayout> 

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.test.fullscreen" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="7" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:label="@string/app_name" 
      android:name=".TestActivity" > 
      <intent-filter > 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 
它在Android 2.1和2.2

簡化的代碼測試

結果:

Result

更新:

我發現,如果我更換EditTextTextView,它工作正常。如果EditText是要顯示的第一個View,則佈局將向下移動。

+0

此處添加您的佈局XML ..如果可能添加的截圖也.. – AAnkit 2012-01-01 04:56:46

回答

0

嘗試:

requestWindowFeature(FEATURE_NO_TITLE); 

requestWindowFeature你在你活動的onCreate調用setContentView(view)之前,必須調用。還請撥打以下內容:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) 
+0

這似乎不起作用。我在「super.onCreate」和「setContentView」之間添加了'requestWindowFeature(Window.FEATURE_NO_TITLE);'但它仍然無法修復。你能否描述更多細節? – user554712 2012-01-01 10:23:03

+0

查看更新的評論。 – 2012-01-01 14:00:32

1

我想這是因爲您在設置後執行了super.onCreate。請嘗試以下操作:

public class TestActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 

     setTheme(android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 
     getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER); 

     setContentView(R.layout.main); 
    } 
} 
+0

我發現它可能會導致Android的錯誤。 – user554712 2012-01-01 16:07:37

+0

@ user554712:你有解決方案嗎? – 2012-01-02 10:11:23