2014-01-12 11 views
5

Ich versuche, ein Rasterlayout mit Schaltflächen zu erstellen, aber standardmäßig gibt es einen Abstand zwischen diesen Schaltflächen, und ich brauche das nicht. Die XML-Datei sieht wie folgt aus:Android-Rand zwischen den Schaltflächen im Rasterlayout

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

Der Code, wo ich die Schaltflächen erstellen und sie dem Raster-Layout hinzufügen:

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); 
    } 

Hier ist ein Bild, wie es aussieht:

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

+0

Verwendung hierarchyviewer zu sehen, ob es wirklich keine Ränder zwischen Schaltflächen sind – pskink

Antwort

3

Android Standardschaltfläche haben einige Polsterung.
Wenn Sie diesen Speicherplatz nicht möchten, müssen Sie einen benutzerdefinierten Hintergrund für Ihre Schaltflächen erstellen.

Dies ist ein Beispiel:

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> 

die backgroud der Tasten auf diese ziehbar Set.

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

Sie sir danken, dass die Lösung war, ich ein wenig mit den Farben und Verläufen gespielt und die Polsterung auf 0 gesetzt und es sieht gut aus – Jones