2012-09-23 60 views
2

我想創建4個方塊,每個方塊中我想創建一個小按鈕。廣場必須可見並且必須有邊框。Android佈局,每個方塊內有4個方塊和一個按鈕

我知道如何創建4個按鈕作爲一個正方形,但我不知道如何在每個正方形周圍創建邊框。但我想成爲的大小無關,現在的按鈕都非常大......

我的例子

<?xml version="1.0" encoding="utf-8"?> 
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="fill_parent" android:layout_width="fill_parent"> 
    <RelativeLayout android:id="@+id/magaLoginLayout" 
     android:layout_height="fill_parent" android:layout_width="fill_parent"> 
     <Button android:text="@+id/Button01" android:id="@+id/Button01" 
      android:layout_width="160dip" android:layout_height="160dip" android:layout_marginTop="20dip"></Button> 
     <Button android:text="@+id/Button03" android:layout_below="@+id/Button01" android:id="@+id/Button03" 
      android:layout_alignLeft="@+id/Button01" android:layout_height="160dip" android:layout_width="160dip"></Button> 
     <Button android:text="@+id/Button04" android:layout_below="@+id/Button01" android:id="@+id/Button04" 
      android:layout_toRightOf="@+id/Button03" android:layout_height="160dip" android:layout_width="160dip"></Button> 
     <Button android:text="@+id/Button02" android:id="@+id/Button02" android:layout_width="wrap_content" 
      android:layout_toRightOf="@+id/Button01" android:layout_alignTop="@+id/Button01" android:layout_alignParentRight="true" android:layout_height="160dip"></Button> 


</RelativeLayout> 

enter image description here

+0

檢查此鏈接: http://stackoverflow.com/questions/7690416/android-border-for-button – axilos

回答

7

你想創建佈局像這樣的截圖?

This is layout for my apps named Call & Sms Blocker.

代碼此佈局:

  1. main_screen.xml

    <?xml version="1.0" encoding="utf-8"?> 
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:background="@drawable/bgimage2" > 
    
        <TextView 
        android:id="@+id/textView1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentTop="true" 
        android:layout_centerHorizontal="true" 
        android:layout_marginTop="29dp" 
        android:text="Call & SMS Blocker" 
        android:textAppearance="?android:attr/textAppearanceLarge" 
        android:textSize="40dp" 
        android:textStyle="bold" /> 
    
        <Button 
        android:id="@+id/blocked_sms" 
        android:layout_width="162dp" 
        android:layout_height="162dp" 
        android:layout_marginLeft="50dp" 
        android:layout_marginTop="120dp" 
        android:background="@drawable/buttoneffects" 
        android:focusable="true" 
        android:textColor="#000000" 
        android:textStyle="bold" /> 
    
    <ImageButton 
        android:id="@+id/imagebutton1" 
        style="?android:attr/buttonStyleSmall" 
        android:layout_width="50dp" 
        android:layout_height="50dp" 
        android:layout_alignTop="@+id/blocked_sms" 
        android:layout_centerHorizontal="true" 
        android:layout_marginTop="136dp" 
        android:background="@drawable/buttoneffectpower" /> 
    
        <Button 
        android:id="@+id/blocked_calls" 
        android:layout_width="162dp" 
        android:layout_height="162dp" 
        android:layout_alignBaseline="@+id/blocked_sms" 
        android:layout_alignBottom="@+id/blocked_sms" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="50dp" 
        android:background="@drawable/buttoneffectssecond" 
        android:focusable="true" android:text="Blocked Calls" 
        android:textColor="#000000" 
        android:textStyle="bold" /> 
    
        <Button 
        android:id="@+id/settings" 
        android:layout_width="162dp" 
        android:layout_height="162dp" 
        android:layout_alignLeft="@+id/blocked_calls" 
        android:layout_below="@+id/imagebutton1" 
        android:layout_marginRight="50dp" 
        android:background="@drawable/buttoneffectfourth" 
        android:focusable="true" android:text="Settings" 
        android:textColor="#000000" android:textStyle="bold" /> 
    
    <Button 
        android:id="@+id/blacklist" 
        android:layout_width="162dp" 
        android:layout_height="162dp" 
        android:layout_alignBaseline="@+id/settings" 
        android:layout_alignBottom="@+id/settings" 
        android:layout_marginLeft="50dp" 
        android:layout_toLeftOf="@+id/imagebutton1" 
        android:background="@drawable/buttoneffectthird" 
        android:focusable="true" 
        android:text="Blacklist" 
        android:textColor="#000000" 
        android:textStyle="bold" /> 
    
        <Button 
        android:id="@+id/help" 
        android:layout_width="150dp" 
        android:layout_height="70dp" 
        android:layout_alignLeft="@+id/blocked_sms" 
    android:layout_alignParentBottom="true" 
    android:layout_marginBottom="69dp" 
    android:background="@drawable/buttoneffectsimple" 
    android:focusable="true" 
    android:text="Help" 
    android:textColor="#000000" 
    android:textStyle="bold" /> 
    
        <Button 
        android:id="@+id/block_last_number" 
        android:layout_width="330dp" 
        android:layout_height="70dp" 
        android:layout_above="@+id/help" 
        android:layout_alignLeft="@+id/help" 
        android:layout_alignRight="@+id/settings" 
        android:layout_marginBottom="27dp" 
        android:background="@drawable/buttoneffectsimple" 
        android:focusable="true" 
        android:text="Block Last Number" 
        android:textColor="#000000" 
        android:textStyle="bold" /> 
    
        <Button 
    android:id="@+id/aboutus" 
    android:layout_width="150dp" 
    android:layout_height="70dp" 
    android:layout_alignBaseline="@+id/help" 
    android:layout_alignBottom="@+id/help" 
    android:layout_alignRight="@+id/block_last_number" 
    android:background="@drawable/buttoneffectsimple" 
    android:focusable="true" 
    android:text="About Us" 
    android:textColor="#000000" 
    android:textStyle="bold" /> 
    
    </RelativeLayout> 
    

代碼按鈕效果(XML文件佈局):

<Selector> 
     <item android:drawable="@drawable/blockedsms"><shape> 
     <solid android:color="#fff" /> 

     <stroke android:width="1px" android:color="#444" /> 

     <corners android:radius="6dp" /> 

     <gradient android:angle="270" android:endColor="#10000000" 
      android:startColor="#10FFFFFF" /> 

     <corners android:bottomRightRadius="50dp" /> 
    </shape></item> 

     </selector> 

現在其他XML按鈕效果佈局,你必須改變

 <corners android:bottomLeftRadius 
     <corners android:topRightRadius 
     <corners android:topLeftRadius 

     and so on...... 

希望!這將有所幫助。 乾杯!

+0

不是一個答案,你可以至少提供一些文本,而不是隻回答與另一個問題的問題。 – Darwind

+0

對不起,但我只想確認,是否符合此截圖的要求?如果是,那麼我會提供有關此佈局的完整代碼。 –

+0

@管理Android是的,如果你可以給出代碼示例,這將是很好的。 Thx – mbrc

5

由於邊框部分似乎是你的問題的評論回答,這裏是一個問題的佈局部分:

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <TableRow 
     android:id="@+id/TableRow01" 
     android:layout_width="wrap_content" 
     android:layout_height="0dp" 
     android:layout_weight="1" > 

     <Button 
      android:id="@+id/Button02" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_margin="20dp" 
      android:layout_weight="1" 
      android:text="Button" /> 

     <Button 
      android:id="@+id/Button01" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_margin="20dp" 
      android:layout_weight="1" 
      android:text="Button" /> 
    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="wrap_content" 
     android:layout_height="0dp" 
     android:layout_weight="1" > 

     <Button 
      android:id="@+id/button2" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_margin="20dp" 
      android:layout_weight="1" 
      android:text="Button" /> 

     <Button 
      android:id="@+id/button1" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_margin="20dp" 
      android:layout_weight="1" 
      android:text="Button" /> 
    </TableRow> 

</TableLayout> 

這種佈局將是獨立於屏幕的大小以及它是否在風景或肖像模式。定義你自己的利潤率,按鈕周圍;-)

要使用從註釋邊境只需添加:

android:background="@drawable/back" 

的按鈕。返回是您創建的形狀的名稱。