Самый простой способ сделать это - использовать ConstraintLayout
в качестве родительской группы просмотра, а затем создать горизонтальную цепочку spread_inside
между вашими представлениями:
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:id="@+id/one"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@+id/two"/>
<View
android:id="@+id/two"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"
app:layout_constraintStart_toEndOf="@+id/one"
app:layout_constraintEnd_toStartOf="@+id/three"/>
<View
android:id="@+id/three"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"
app:layout_constraintStart_toEndOf="@+id/two"
app:layout_constraintEnd_toStartOf="@+id/four"/>
<View
android:id="@+id/four"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"
app:layout_constraintStart_toEndOf="@+id/three"
app:layout_constraintEnd_toStartOf="@+id/five"/>
<View
android:id="@+id/five"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"
app:layout_constraintStart_toEndOf="@+id/four"
app:layout_constraintEnd_toStartOf="@+id/six"/>
<View
android:id="@+id/six"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"
app:layout_constraintStart_toEndOf="@+id/five"
app:layout_constraintEnd_toStartOf="@+id/seven"/>
<View
android:id="@+id/seven"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"
app:layout_constraintStart_toEndOf="@+id/six"
app:layout_constraintEnd_toEndOf="parent"/>
</android.support.constraint.ConstraintLayout>
Атрибут app:layout_constraintHorizontal_chainStyle
впервое мнение является ключевым здесь;это делает пространство равномерно распределенным только между видами.Вы также можете попробовать другие значения, чтобы увидеть, что вам больше нравится.
Если вы не хотите использовать ConstraintLayout
, другой способ сделать это - использовать LinearLayout
, но добавить Space
представление между каждым из ваших основных видов и дать вес Space
представлений:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<View
android:id="@+id/one"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"/>
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<View
android:id="@+id/two"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"/>
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<View
android:id="@+id/three"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"/>
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<View
android:id="@+id/four"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"/>
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<View
android:id="@+id/five"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"/>
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<View
android:id="@+id/six"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"/>
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<View
android:id="@+id/seven"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="#caf"/>
</LinearLayout>