2017-01-05 4 views
0

Je dois implémenter une vue comme celle-ci. Toutes les vues sont fixes, pas de défilement.Tableau personnalisé Vue Android avec bordures

Grid

Comment pourrais-je le faire? Quelles vues dois-je utiliser? GridLayout, TableLayout ou même RecyclerView.

+0

Je voudrais éviter de créer manuellement ou ligne de tableau XML statique. –

+0

vous pouvez créer une vue personnalisée et dessiner chaque élément en fonction de la taille de l'écran. jetez un oeil à ce projet qui a une disposition de clavier personnalisée dessinée https://github.com/Arjun-sna/android-passcodeview – arjun

+0

@CosminMihu Voir ma réponse ci-dessous. S'il vous plaît marquer la réponse correcte si cela aide. Merci –

Répondre

0

Ceci est le xml dont vous avez besoin:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:layout_weight="2"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="0.5"> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:weightSum="5" 
      android:orientation="horizontal"> 
      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="4"> 

       <RelativeLayout 
        android:layout_marginTop="25dp" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent"> 
        <TableLayout 
         android:layout_gravity="bottom" 
         android:gravity="bottom" 
         android:padding="6dp" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:stretchColumns="*"> 
         <TableRow 
          android:padding="5dp"> 
          <TextView 
           android:text="1"/> 
          <TextView 
           android:text="2"/> 
          <TextView 
           android:text="3"/> 
          <TextView 
           android:text="4"/> 
          <TextView 
           android:text="5"/> 
          <TextView 
           android:text="6"/> 
          <TextView 
           android:text="7"/> 
          <TextView 
           android:text="8"/> 
          <TextView 
           android:text="9"/> 


         </TableRow> 

         <TableRow 
          android:padding="5dp"> 
          <TextView 
           android:text="5"/> 
          <TextView 
           android:text="6"/> 
          <TextView 
           android:text="7"/> 
          <TextView 
           android:text="3"/> 
          <TextView 
           android:text="4"/> 
          <TextView 
           android:text="5"/> 
          <TextView 
           android:text="8"/> 
          <TextView 
           android:text="1"/> 
          <TextView 
           android:text="2"/> 
         </TableRow> 

         <TableRow 
          android:padding="5dp"> 
          <TextView 
           android:text="5"/> 
          <TextView 
           android:text="6"/> 
          <TextView 
           android:text="7"/> 
          <TextView 
           android:text="3"/> 
          <TextView 
           android:text="4"/> 
          <TextView 
           android:text="5"/> 
          <TextView 
           android:text="8"/> 
          <TextView 
           android:text="1"/> 
          <TextView 
           android:text="2"/> 
         </TableRow> 
        </TableLayout> 
       </RelativeLayout> 
      </LinearLayout> 
      <View 
       android:layout_width="1dp" 
       android:layout_height="match_parent" 
       android:background="@android:color/black"></View> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="1"> 

       <RelativeLayout 
        android:layout_marginTop="25dp" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent"> 
        <TableLayout 
         android:layout_gravity="bottom" 
         android:gravity="bottom" 
         android:padding="6dp" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:stretchColumns="*"> 
         <TableRow 
          android:padding="5dp"> 
          <TextView 
           android:text=""/> 
         </TableRow> 

         <TableRow 
          android:padding="5dp"> 
          <TextView 
           android:text="5"/> 
         </TableRow> 

         <TableRow 
          android:padding="5dp"> 
          <TextView 
           android:text="5"/> 
         </TableRow> 
        </TableLayout> 
       </RelativeLayout> 
      </LinearLayout> 
     </LinearLayout> 

    </LinearLayout> 

    <View 
     android:layout_width="match_parent" 
     android:layout_height="1dp" 
     android:background="@android:color/black"></View> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="0.5"> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:weightSum="5" 
      android:orientation="horizontal"> 
      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="4"> 
       <RelativeLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent"> 
        <TableLayout 
         android:padding="6dp" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:stretchColumns="*"> 
        <TableRow 
         android:padding="5dp"> 
         <TextView 
          android:text="1"/> 
         <TextView 
          android:text="2"/> 
         <TextView 
          android:text="3"/> 
         <TextView 
          android:text="4"/> 
         <TextView 
          android:text="5"/> 
         <TextView 
          android:text="6"/> 
         <TextView 
          android:text="7"/> 
         <TextView 
          android:text="8"/> 
         <TextView 
          android:text="9"/> 


        </TableRow> 

        <TableRow 
         android:padding="5dp"> 
         <TextView 
          android:text="5"/> 
         <TextView 
          android:text="6"/> 
         <TextView 
          android:text="7"/> 
         <TextView 
          android:text="3"/> 
         <TextView 
          android:text="4"/> 
         <TextView 
          android:text="5"/> 
         <TextView 
          android:text="8"/> 
         <TextView 
          android:text="1"/> 
         <TextView 
          android:text="2"/> 
        </TableRow> 

        <TableRow 
         android:padding="5dp"> 
         <TextView 
          android:text="5"/> 
         <TextView 
          android:text="6"/> 
         <TextView 
          android:text="7"/> 
         <TextView 
          android:text="3"/> 
         <TextView 
          android:text="4"/> 
         <TextView 
          android:text="5"/> 
         <TextView 
          android:text="8"/> 
         <TextView 
          android:text="1"/> 
         <TextView 
          android:text="2"/> 
        </TableRow> 
        </TableLayout> 
       </RelativeLayout> 
      </LinearLayout> 
      <View 
       android:layout_width="1dp" 
       android:layout_height="match_parent" 
       android:background="@android:color/black"></View> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="1"> 

       <RelativeLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent"> 
        <TableLayout 
         android:padding="6dp" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:stretchColumns="*"> 
         <TableRow 
          android:padding="5dp"> 
          <TextView 
           android:text=""/> 
         </TableRow> 

         <TableRow 
          android:padding="5dp"> 
          <TextView 
           android:text="5"/> 
         </TableRow> 

         <TableRow 
          android:padding="5dp"> 
          <TextView 
           android:text="5"/> 
         </TableRow> 
        </TableLayout> 
       </RelativeLayout> 
      </LinearLayout> 
     </LinearLayout> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1"> 

    </LinearLayout> 



</LinearLayout> 

enter image description here