2014-01-12 3 views
5

버튼이 포함 된 격자 레이아웃을 만들려고하지만, 기본적으로이 버튼 사이에 공백이 있으므로 필요하지 않습니다. .xml 파일은 다음과 같습니다격자 레이아웃의 버튼 사이의 안드로이드 여백

<?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 기본 버튼에는 약간의 패딩이 있습니다.
해당 공간이 필요하지 않으면 단추에 대한 사용자 지정 배경을 만들어야합니다.

<?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> 

이 당김에 버튼의 배경에서 설정

button_dark_gradient.xml :

은 예입니다.

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

버튼 사이에 정말 여백이 솔루션였습니다,이있는 경우, 내가 조금 색상과 그라데이션으로 연주보고 0으로 패딩을 설정하고 그것을 잘 보이는하기 – Jones

관련 문제