2014-01-12 76 views
5

我想創建一個包含按鈕的網格佈局,但默認情況下這些按鈕之間有一個空間,我不需要這樣做。 .xml文件看起來是這樣的:在網格佈局按鈕之間的Android保證金

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_gravity="center"> 
    <HorizontalScrollView android:id="@+id/HorizontalScrollView" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_gravity="center"> 
    <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/gridLayout" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center"> 
    </GridLayout> 
    </HorizontalScrollView> 
</ScrollView> 

,我創建的按鈕,並把它添加到網格佈局代碼:

for (int rowCounter = 0; rowCounter < DIMENSION; rowCounter++) 
    for (int columnCounter = 0; columnCounter < DIMENSION; columnCounter++) { 
     Button b = new Button(this); 
     b.setText(" "); 
     GridLayout.LayoutParams params = new GridLayout.LayoutParams(); 
     params.setMargins(0, 0, 0, 0); 
     b.setLayoutParams(params); 
     gridLayout.addView(b); 
    } 

這裏是它的外觀圖片:

image http://i40.tinypic.com/zn1lwo.png

+0

使用hierarchyviewer,看看是否真的有 – pskink

回答

3

Android默認按鈕有一些填充。
如果你不想要那個空間,你需要爲你的按鈕創建一個自定義背景。

這是一個例子:

button_dark_gradient.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:state_pressed="true" > 
     <shape> 
      <gradient 
       android:startColor="#00000000" 
       android:centerColor="#FFFFFF" 
       android:endColor="#00000000" 
       android:angle="270" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" />   
     </shape> 

     <shape> 
      <gradient 
       android:startColor="#00CFCCCE" 
       android:centerColor="#FFFFFF" 
       android:endColor="#00BAB8B9" 
       android:angle="270" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" />    
     </shape>   
    </item> 
    <item> 
     <shape> 
      <gradient 
       android:startColor="#00CFCCCE" 
       android:centerColor="#FFFFFF" 
       android:endColor="#00BAB8B9" 
       android:angle="270" /> 
     </shape> 
    </item> 

</selector> 

設置你的按鈕的研究背景,以這種繪製。

b.setBackground(getResources().getDrawable(R.drawable.button_dark_gradient)); 
+0

謝謝主席先生按鍵之間的空間,這是解決辦法,我有一點與色彩和漸變和填充設置爲0,它看起來罰款 – Jones