2017-01-05 3 views
0

Мне нужно реализовать такой вид. Все виды фиксированы, нет прокрутки.Пользовательский стол Android с границами

Grid

Как я могу это сделать? Какие взгляды следует использовать? GridLayout, TableLayout или даже RecyclerView.

+0

Я хотел бы избежать создания строки таблицы вручную или статический XML. –

+0

вы можете создать пользовательский вид и нарисовать каждый элемент в соответствии с размером экрана. взгляните на этот проект, который имеет пользовательский рисунок раскладки клавиатуры https://github.com/Arjun-sna/android-passcodeview – arjun

+0

@CosminMihu См. мой ответ ниже. Пожалуйста, отметьте ответ правильно, если это поможет. Спасибо –

ответ

0

Это точный XML вам необходимо:

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

Смежные вопросы