2013-05-04 56 views
0

我在我的Android應用程序中有兩個TableLayout。我希望我的應用程序的一半是靜態的並始終顯示,另一半是可滾動的。當我在我的Android手機上構建並運行我的應用程序時,下半部分(TableLayout 2)完全沒有出現。這是我的xml文件:TableLayout問題 - Android

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/tableLayout1" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:scrollbarAlwaysDrawVerticalTrack="true" 
android:scrollbars="vertical" 
tools:context=".MainActivity" > 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="Module 1" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
    android:id="@+id/editText1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:gravity="center" 
    android:inputType="number" 
    android:maxLength="3" > 

    <requestFocus /> 
</EditText> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="Module 2" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
    android:id="@+id/editText2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:maxLength="3" 
    android:inputType="number" /> 

<TextView 
    android:id="@+id/textView3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="Module 3" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
    android:id="@+id/editText3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:maxLength="3" 
    android:inputType="number" /> 

<TextView 
    android:id="@+id/textView4" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="Module 4" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
    android:id="@+id/editText4" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:maxLength="3" 
    android:inputType="number" /> 

<TextView 
    android:id="@+id/textView5" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="Module 5" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
    android:id="@+id/editText5" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:maxLength="3" 
    android:inputType="number" /> 

<TextView 
    android:id="@+id/textView6" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="Module 6" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
    android:id="@+id/editText6" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:maxLength="3" 
    android:inputType="number" /> 

<TextView 
    android:id="@+id/textView7" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="Module 7" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
    android:id="@+id/editText7" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:maxLength="3" 
    android:inputType="number" /> 

<TextView 
    android:id="@+id/textView8" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="Module 8" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
    android:id="@+id/editText8" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:maxLength="3" 
    android:inputType="number" /> 

</TableLayout> 
</ScrollView> 

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/tableLayout2" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MainActivity" > 

<TextView 
    android:id="@+id/textView9" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="Total" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
    android:id="@+id/editText9" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:enabled="false" 
    android:inputType="number" /> 

<TextView 
    android:id="@+id/textView10" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="Classification" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
    android:id="@+id/editText10" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:enabled="false" 
    android:inputType="number" /> 

<EditText 
    android:id="@+id/editText11" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:enabled="false" /> 

</TableLayout> 
</LinearLayout> 

我在做什麼錯?道歉,如果它是微不足道的,我今天才開始發展,我對這一切都非常陌生。

回答

1

您的ScrollViewandroid:layout_height="fill_parent",這意味着它將填滿整個LinearLayout,而不會爲第二個表格佈局留下任何空間。你想要的是填充固定表格佈局2的空間後留下的所有空間。

爲了做到這一點,你會希望你LinearLayoutlayout_weight屬性:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" > 
    ... 
</ScrollView> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/tableLayout2" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 
    ... 
</TableLayout> 

沒有任何意見weight只會佔用分配給他們的高度(在這種情況下,我們希望它wrap_content和只需要佔用儘可能多的空間)。而帶有重量的視圖將通過重量比例來分割剩餘高度(即,1重量和2重量將是1/3高度和2/3高度)。

1

LinearLayout具有android:orientation="vertical",但它的第一個孩子,ScrollView,具有android:layout_height="fill_parent",這意味着它將接管其父的全高度,所以第二個孩子(tableLayout2)將沒有剩餘空間來顯示。

對於ScrollViewtableLayout2,您可能都希望有android:layout_height="wrap_content"