2017-06-23 2 views
0

Je crée un jeu de recherche de mots avec des grilles 10x10 dans un gridview. Les alphabets ne sont pas entièrement affichés dans chaque cellule. Voici les Screen shot of gridview with characters filled inGridview dans Android ne montre pas les caractères

Les extraits de code sont donnés ci-dessous:

MainActivity.java

MainActivity public class étend AppCompatActivity {

GridView gridView; 

static final String[] numbers = new String[] { 
     "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", 
     "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", 
     "W", "X", "Y", "Z", "A", "B", "C", "D", "E", "F", 
     "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", 
     "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", 
     "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", 
     "W", "X", "Y", "Z", "A", "B", "C", "D", "E", "F", 
     "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", 
     "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", 
     "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", 
}; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    gridView = (GridView) findViewById(R.id.gridView1); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, numbers); 

    gridView.setAdapter(adapter); 

    gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View v, 
           int position, long id) { 
      Toast.makeText(getApplicationContext(), 
        ((TextView) v).getText(), Toast.LENGTH_SHORT).show(); 
     } 
    }); 
} 

}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 

android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 

android:id="@+id/gridView1" 
android:numColumns="10" 
android:gravity="center" 
android:columnWidth="50dp" 
android:stretchMode="columnWidth" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 

tools:context="in.viyanservices.wordsearch1.MainActivity"> 
</GridView> 

J'ai suivi ce tutoriel: http://www.mkyong.com/android/android-gridview-example/. Il a utilisé Android: numColumns = "auto_fit". J'utilise android: numColumns = "10"

Votre réponse serait appréciée! Merci beaucoup!

Répondre

0

Mettez à jour votre GridView XML

<?xml version="1.0" encoding="utf-8"?> 
    <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     tools:context="in.viyanservices.wordsearch1.MainActivity" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
    <GridView 
     android:id="@+id/gridView1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:gravity="center" 
     android:numColumns="10"/> 
    </HorizontalScrollView> 
+0

Je veux voir la grille entière dans un seul écran. votre suggestion ferait les utilisateurs à faire défiler horizontalement. droite? –

+0

il n'est pas possible d'afficher 10 colonne en un seul écran dans les petits appareils de résolution. –

1

il suffit de changer votre propriété xml

android:stretchMode="spacingWidth" 
+0

android: stretchMode = "spacingWidth" travaillé lorsque j'ai défini le columnWidth = "50dp". Mais, quand columnWidth est réglé sur "30dp", le même problème se produit. Les alphabets ne sont pas affichés complètement. –

+0

si vous voulez réduire la taille de la colonne que vous devez réduire la taille de la vue de texte dans la vue de grille ... pour cela vous devez utiliser votre textview personnalisé ... –