2014-08-28 31 views
1

我是Android編程的新手,我試圖創建一個簡單的佈局,並排排列三個項目。「渲染過程中出現異常:列索引(開始+跨度)不得超過列數」

我正在使用GridLayout嘗試完成此操作。我創建了三列的GridLayout。然後我添加了三個NumberPickers。當我這樣做時,columnCount上升到4。當我試圖將其改回3,我得到了錯誤

Exception raised during rendering: column indices (start + span) mustn't exceed the column count.

這是奇怪的。爲什麼列索引超過列數?另外,爲什麼列在觸摸屏幕右側之前結束?

Android Screen

的XML

<?xml version="1.0" encoding="utf-8"?> 
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/GridLayout1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:columnCount="2" 
    android:orientation="horizontal" > 

    <NumberPicker 
     android:id="@+id/NumberPicker01" 
     android:layout_gravity="left" 
     android:gravity="center_vertical" /> 

    <NumberPicker 
     android:id="@+id/NumberPicker02" 
     android:layout_column="0" 
     android:layout_gravity="fill_horizontal" /> 

    <NumberPicker 
     android:id="@+id/NumberPicker03" 
     android:layout_column="0" /> 

    <Space 
     android:layout_column="1" 
     android:layout_gravity="fill_vertical" 
     android:layout_row="3" /> 

</GridLayout> 
+0

你能否發佈更多細節佈局xml文件?任何有助於理解你在做什麼的細節。 – user3460486 2014-08-29 02:53:49

+0

@ user3460486當然,我添加了它 – CodyBugstein 2014-08-29 03:03:04

回答

2

當我用它放在彼此即三行3號下方的佈局XML。選取器1進入第0行和第0列。對於選取器2和3,您指定第0列,以使它們都進入新行。此外,您還可以填充水平線,將任何內容從屏幕右側推出。你爲什麼在那裏有空間?最後你的columnCount爲2.列數應該是三。

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/GridLayout1" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:columnCount="3" 
android:orientation="horizontal" > 

<NumberPicker 
    android:id="@+id/NumberPicker01" 
    android:layout_column="0" /> 

<NumberPicker 
    android:id="@+id/NumberPicker02" 
    android:layout_column="1"/> 

<NumberPicker 
    android:id="@+id/NumberPicker03" 
    android:layout_column="2" /> 

</GridLayout> 

結果看起來是這樣的:

enter image description here

您可以通過添加利潤率的數量採摘之間添加空間。

+0

謝謝,但在最後一個NumberPicker之後,右側仍有額外的空間。有什麼辦法可以讓他們三人居中? – CodyBugstein 2014-08-29 18:28:13

+0

據我所知,沒有像layout_centerHorizo​​ntal這樣的屬性。對於網格佈局,您可以再使用兩列:左右空格,根據屏幕大小動態設置空格寬度=大量工作。您可以使用相對佈局,並利用NumberPicker2的layout_centerHorizo​​ntal。然後你把picker1放在左邊,picker2放在它的右邊。 – user3460486 2014-08-29 18:42:04

相關問題