2014-06-05 100 views
2

我在Horizo​​ntalScrollView中使用LinearLayout滾動部分工作,但我不知道如何使3行。Horizo​​ntalScrollView Android LinearLayout與多行


例如:

粗體表示當前顯示的內容(在仿真器/在屏幕上)

電流

--Button1 - Button2- -Button3-- Button4 - Button5 - Button6 - Button7 - Button8 - Button9 - Button10

-Button11 - Button12

我想要什麼

--Button1 - 將Button2 - Button3--將Button4 - Button5 - Button6--
- -Button7 - Button8 - Button9-- Button10 - Button11 - Button12 -


我試圖用一個LinearView來做到這一點,因爲以後我會嘗試動態添加按鈕。

我可能會以完全錯誤的方式做到這一點(我想我是)。

下面是代碼:

<HorizontalScrollView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="50dp" > 

    <LinearLayout 
     android:layout_width="200dp" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

      <Button 
      android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button1" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button2" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button3" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button4" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button5" /> 
      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button6" /> 
      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button7" /> 
      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button8" /> 
       <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button9" /> 
       <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button10" /> 
       <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button11" /> 
       <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button12" /> 

     </LinearLayout> 
    </HorizontalScrollView> 

我嘗試一些東西,但我總是回到起點。

+0

你所需要的是一個自定義佈局並將其添加到您的xml佈局中。請參閱此鏈接:http://nishantvnair.wordpress.com/2010/09/28/flowlayout-in-android/ – Opiatefuchs

+0

您可以使用Horizo​​ntaScrollView內的表格佈局,並在日曆中添加行。 –

回答

5

代替LinearLayout嘗試GridLayout這是Android支持庫的一部分。

它提供了在XML佈局中實現時設置列和行的數量。

類似下面

<HorizontalScrollView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="50dp" > 

    <GridLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:columnCount="6" 
     android:rowCount="3" 
     android:orientation="horizontal" > 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button1" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button2" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button3" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button4" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button5" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button6" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button7" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button8" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button9" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button10" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button11" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button12" /> 
    </GridLayout> 
</HorizontalScrollView> 

編輯 - 你可以使用TableLayout,而不是網格佈局,如果你想添加不同寬度的子視圖如下

<HorizontalScrollView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="50dp" > 

    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

     <TableRow 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button1" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button2" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button3" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button4" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button5" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button6" /> 
     </TableRow> 

     <TableRow 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button7" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button8" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button9" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button10" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button11" /> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button12" /> 
     </TableRow> 
    </TableLayout> 
</HorizontalScrollView> 
+0

這樣一個簡單的解決方案謝謝你,我看着這完全錯誤。但我還有一個問題,當我這樣做時,其中一些按鈕比其他按鈕更大,其中一些按鈕之間有空白區域。我想說的不是所有的都是相同的大小。 – MePo

+0

您可以使用數量爲而不是GridLayout的TableLayout來顯示此類網格。檢查編輯部分 – silwar

+1

對於'TableLayout'示例 –

相關問題