です。多くの視点でレイアウトを行うより良い方法です。
優れたパフォーマンスを発揮するには(そしてプログラムする時間も少なくて済む)最善の方法です。
あなたが持っている最も美しいビューは、あなたの活動をよりゆっくりと動かします。あなたが私のコードを参照しようとすることができる電卓のシンプルなレイアウトのために
:国境を行うには
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.moris.calcolatricelayoutconstraint.MainActivity">
<TextView
android:id="@+id/textView24"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="/"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toRightOf="@+id/textView5"
app:layout_constraintRight_toLeftOf="@+id/textView6"
app:layout_constraintTop_toBottomOf="@+id/textView21" />
<TextView
android:id="@+id/textView25"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="x"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/textView3"
app:layout_constraintTop_toBottomOf="@+id/textView22" />
<TextView
android:id="@+id/textView26"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="="
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toRightOf="@+id/textView3"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView23" />
<TextView
android:id="@+id/textView21"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="-"
app:layout_constraintBottom_toTopOf="@+id/textView24"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toRightOf="@+id/textView5"
app:layout_constraintRight_toLeftOf="@+id/textView6"
app:layout_constraintTop_toBottomOf="@+id/textView18" />
<TextView
android:id="@+id/textView22"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="+"
app:layout_constraintBottom_toTopOf="@+id/textView25"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/textView3"
app:layout_constraintTop_toBottomOf="@+id/textView19" />
<TextView
android:id="@+id/textView23"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="%"
app:layout_constraintBottom_toTopOf="@+id/textView26"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toRightOf="@+id/textView3"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView20" />
<TextView
android:id="@+id/textView18"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="8"
app:layout_constraintBottom_toTopOf="@+id/textView21"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toRightOf="@+id/textView5"
app:layout_constraintRight_toLeftOf="@+id/textView6"
app:layout_constraintTop_toBottomOf="@+id/textView15" />
<TextView
android:id="@+id/textView19"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="7"
app:layout_constraintBottom_toTopOf="@+id/textView22"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/textView3"
app:layout_constraintTop_toBottomOf="@+id/textView16" />
<TextView
android:id="@+id/textView20"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="9"
app:layout_constraintBottom_toTopOf="@+id/textView23"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toRightOf="@+id/textView3"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView17" />
<TextView
android:id="@+id/textView15"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="5"
app:layout_constraintBottom_toTopOf="@+id/textView18"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toRightOf="@+id/textView5"
app:layout_constraintRight_toLeftOf="@+id/textView6"
app:layout_constraintTop_toBottomOf="@+id/textView3" />
<TextView
android:id="@+id/textView16"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="4"
app:layout_constraintBottom_toTopOf="@+id/textView19"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/textView3"
app:layout_constraintTop_toBottomOf="@+id/textView5" />
<TextView
android:id="@+id/textView17"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="6"
app:layout_constraintBottom_toTopOf="@+id/textView20"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toRightOf="@+id/textView3"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView6" />
<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
app:layout_constraintBottom_toTopOf="@+id/textView3"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText" />
<EditText
android:id="@+id/editText"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginEnd="6dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="6dp"
android:layout_marginStart="8dp"
android:ems="10"
android:hint="Insert numbers"
android:inputType="textPersonName"
app:layout_constraintBottom_toTopOf="@+id/textView"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintHorizontal_bias="0.0" />
<TextView
android:id="@+id/textView3"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="2"
app:layout_constraintBottom_toTopOf="@+id/textView15"
app:layout_constraintLeft_toRightOf="@+id/textView5"
app:layout_constraintRight_toLeftOf="@+id/textView6"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<TextView
android:id="@+id/textView5"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="1"
app:layout_constraintBottom_toTopOf="@+id/textView16"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/textView3"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<TextView
android:id="@+id/textView6"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/border"
android:gravity="center"
android:text="3"
app:layout_constraintBottom_toTopOf="@+id/textView17"
app:layout_constraintLeft_toRightOf="@+id/textView3"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
を、私は描画可能リソースで、このxmlファイルの呼び出し「国境」を作成しました、とのTextViewの背景にそれを使用:
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:color="@color/colorPrimaryDark"
android:width="2dp"/>
<corners
android:radius="5dp"/>
をあなたWA場合ConstraintLayoutの詳細については、https://developer.android.com/training/constraint-layout/index.html
特に、ビデオ4をご覧ください。