2011-11-17 56 views
0

在我的佈局Android的佈局:在最需要太多的空間

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" android:layout_height="fill_parent" 
android:id="@+id/user_pswd_new_root" android:scrollbars="vertical" 
android:soundEffectsEnabled="true"> 

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ScrollViewLogin" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scrollbarStyle="outsideInset" android:scrollbars="vertical|horizontal" android:visibility="visible"> 

<RelativeLayout android:layout_width="fill_parent" android:id="@+id/relativeLayout1" android:layout_height="fill_parent"> 

<ImageView android:background="@drawable/logo_login" android:layout_height="wrap_content" android:id="@+id/imageView1" 
android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" 
android:padding="0dp" android:layout_margin="0dp"/> 

............... 
    </RelativeLayout> 
</ScrollView> 
</RelativeLayout> 

與上面的代碼,我在一個對話框中設置,事情proeprly顯示,但有很多的圖像上方多餘的空格這不必要地增加了對話框的高度。查看結果: enter image description here

任何想法爲什麼頂部空間被佔用。我該如何擺脫它。我哪裏錯了?

回答

3

這是Dialog的標題,因爲您沒有指定標題(但視圖仍然存在),因此它是空的。你有這樣的刪除它,例如:

class MyDialog extends Dialog { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // make sure to call requestWindowFeature before setContentView 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.my_dialog_layout); 
     // other initialization code 
    } 
    // ... 
} 

但是,這取決於您使用的是簡單DialogAlertDialog。如果這不起作用,請發佈對話創建代碼(Java),我將更新我的答案以顯示如何刪除案例中的標題。

+0

Felix,我的類擴展了Dialog,這是我如何顯示它:ld = new LoginDialog(this); //ld.getWindow().requestFeature(Window.FEATURE_NO_TITLE); 我在構造函數中也添加了上面的代碼行,但是我收到錯誤「Sorry .... unexpected error has caused」,並且應用程序關閉。如果我評論該行,那麼它可以正常工作。我哪裏錯了?順便說一句,我無法findrequestWindowFeature()。 – Tvd

+1

我更新了我的答案。你應該用'onCreate'而不是你的構造函數來調用它(該窗口在那個時候不存在)。對,對方法名稱感到抱歉。它是'Dialog'中的'requestWindowFeature'和'Window'中的'requestFeature',我把它們混淆了。 – Felix

+0

謝謝菲利克斯。我添加了這個方法,它也起作用了。想知道爲什麼我無法在Overide的方法中看到onCreate(),也無法在onCreate()的頂部添加@Override標籤。但事情按預期工作。任何關於這個查詢的想法。 – Tvd