2012-04-30 156 views
0

我在某些移動設備上遇到了一些Android佈局問題。它是一個帶有webview的佈局,下面有一個帶3個按鈕的欄。佈局運行良好,但在HTC One,samsung galaxy S2(更大的屏幕)等設備上,webview和它下面的酒吧佈局在屏幕中間被壓在一起。請參閱佈局:佈局Android webview和按鈕

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout android:gravity="center" android:orientation="vertical" android:id="@id/linweb" android:layout_width="fill_parent" android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
<WebView android:id="@id/mainWebView" android:layout_width="fill_parent" android:layout_height="410.0dip" /> 
<LinearLayout android:orientation="horizontal" android:id="@id/bottommenu" android:background="@drawable/bar" android:paddingLeft="0.0dip" android:paddingTop="0.0dip" android:paddingRight="0.0dip" android:paddingBottom="0.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/mainWebView"> 
    <Button android:textStyle="bold" android:textColor="@color/text" android:id="@id/one" android:background="@layout/custom_button" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/buttonmenu" android:text="Citroen" android:layout_weight="2.0" /> 
    <Button android:textStyle="bold" android:textColor="@color/text" android:id="@id/two" android:background="@layout/custom_button" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="Mitshibitsu" android:layout_weight="2.0" /> 
    <Button android:textStyle="bold" android:textColor="@color/text" android:id="@id/three" android:background="@layout/custom_button" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="Suzuki" android:layout_weight="2.0" /> 
</LinearLayout> 
</LinearLayout> 
+0

你設計了不同的屏幕尺寸,如佈局小,佈局中,佈局大和佈局xlarge ..! – Dinesh

回答

2

這是因爲您指定WebView的高度爲常數值。你需要告訴它用按鈕填充行上方的空間。

試試這個:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/linweb" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center" 
    android:orientation="vertical" > 

    <WebView 
     android:id="@+id/mainWebView" 
     android:layout_width="fill_parent" 
     android:layout_height="0dip" 
     android:layout_weight="1" /> 

    <LinearLayout 
     android:id="@+id/bottommenu" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:paddingBottom="0.0dip" 
     android:paddingLeft="0.0dip" 
     android:paddingRight="0.0dip" 
     android:paddingTop="0.0dip" > 
    

     <Button 
      android:id="@+id/one" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="2.0" 
      android:text="Citroen" 
      android:textStyle="bold" /> 
    

     <Button 
      android:id="@+id/two" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="2.0" 
      android:text="Mitshibitsu" 
      android:textStyle="bold" /> 
    

     <Button 
      android:id="@+id/three" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="2.0" 
      android:text="Suzuki" 
      android:textStyle="bold" /> 
    </LinearLayout> 

</LinearLayout> 
1

您是硬編碼的WebView高度。您也正在混合來自RelativeLayouts的一些參數。

您應該使用layout_weight來填充LinearLayout中的任何空白空間。

下面是您想要實現的示例。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout android:gravity="center" 
android:orientation="vertical" 
android:id="@id/linweb" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<WebView android:id="@id/mainWebView" 
android:layout_width="fill_parent"  
android:layout_height="0dp" 
android:layout_weight="1" /> 

<LinearLayout android:orientation="horizontal" 
android:id="@id/bottommenu" 
android:background="@drawable/bar" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" > 

<Button android:textStyle="bold" 
android:textColor="@color/text" 
android:id="@id/one"  
android:background="@layout/custom_button" 
android:layout_width="0dp" 
android:layout_height="wrap_content" 
android:src="@drawable/buttonmenu" 
android:text="Citroen" 
android:layout_weight="2" /> 

<Button android:textStyle="bold" 
android:textColor="@color/text" 
android:id="@id/two" 
android:background="@layout/custom_button" 
android:layout_width="0dp" 
android:layout_height="wrap_content" 
android:text="Mitshibitsu" 
android:layout_weight="2" /> 

<Button android:textStyle="bold" 
android:textColor="@color/text" 
android:id="@id/three" 
android:background="@layout/custom_button" 
android:layout_width="0dp" 
android:layout_height="wrap_content" 
android:text="Suzuki" 
android:layout_weight="2" /> 

</LinearLayout> 

</LinearLayout> 
+0

你是我今天的英雄!謝謝.. – user983511