2011-05-01 66 views
1

嗨我正在尋找一個在Android的用戶界面,在那裏我想把四個圓形按鈕放在彼此靠近的鑽石形成。所以我不能讓它們包含在一個正方形網格中,或者它們會重疊在一起。Android中不規則形狀按鈕佈局的任何示例?

任何人都可以指向一個具有不規則形狀(非方形)按鈕的教程或示例代碼嗎?

+0

我知道這是舊的,但找到了解決方案嗎?我有一個類似的問題: http://stackoverflow.com/questions/27367068/overlapping-buttons-with-custom-shape – Phil3992 2014-12-09 21:39:48

回答

0

怎麼樣一個TableLayout只是按住按鈕。使用TableLayout作爲容器來包裝您的按鈕。然後將TableLayout錨定到您想要按鈕組的位置。

PSUEDOCODE 

<TableLayout 
    android:id="@+id/ButtonContainer" 
    android:layout_width="3XButtonWidth" 
    android:layout_height="3XButtonHeight" 
    android:layout_alignParentBottom="OrWhereYouNeedIt" 
    android:layout_alignParentRight="OrWhereYouNeedIt" 
    > 
    <TableRow 
    android:id="@+id/FirstRow"> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
    <ImageButton 
     android:id="@+/TopButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:AnyOtherParams="true"/> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</TableRow> 
<TableRow 
    android:id="@+id/MiddleRow"> 
    <ImageButton 
     android:id="@+/LeftButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:AnyOtherParams="true"/> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
    <ImageButton 
     android:id="@+/RightButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:AnyOtherParams="true"/> 
    </TableRow> 
    <TableRow 
    android:id="@+id/LastRow"> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
    <ImageButton 
     android:id="@+/BottomButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:AnyOtherParams="true"/> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</TableRow> 
</TableLayout> 
+0

如果表是3倍的按鈕寬度,這只是使它成爲一個標準的網格與遠按鈕之間的空間太大。我希望他們更接近。例如,在這個網格中的四個單元格中的圓圈http://i72.photobucket.com/albums/i163/keytotheleyline7/Shippougrid.jpg – aph 2011-05-01 19:07:14

+0

然後,只需使tablelayout = wrap_content的高度和寬度。我會在稍後測試它。 – Phobos 2011-05-02 04:04:36