我的应用程序中有7个呈 oval 形状的ToggleButton(如工作日-参见AOSP时钟应用程序),我很想实现它们之间的余量,该余量将无处不在,并且ToggleButtons将填充水平的整体视图。更公平地说,我正在寻找类似android:layout_weight
的东西,而不是缩放项目的宽度(因为其形状)来缩放它们之间的边距。
我的ToggleButtons的代码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:layout_marginRight="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="1dp"
android:background="?android:attr/selectableItemBackground"
android:orientation="horizontal">
<ToggleButton
android:id="@+id/monday"
android:layout_width="40dp"
android:layout_height="40dp"
android:textOff="M"
android:textOn="M"
android:layout_marginLeft="5sp"
android:background="@drawable/round_button"
android:textSize="15sp"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"
/>
<ToggleButton
android:id="@+id/tuesday"
android:layout_width="40dp"
android:layout_height="40dp"
android:textOff="T"
android:textOn="T"
android:background="@drawable/round_button"
android:textSize="15sp"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"/>
<ToggleButton
android:id="@+id/wednesday"
android:layout_width="40dp"
android:layout_height="40dp"
android:textOff="W"
android:textOn="W"
android:background="@drawable/round_button"
android:textSize="15sp"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"/>
<ToggleButton
android:id="@+id/thursday"
android:layout_width="40dp"
android:layout_height="40dp"
android:textOff="T"
android:textOn="T"
android:background="@drawable/round_button"
android:textSize="15sp"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"/>
<ToggleButton
android:id="@+id/friday"
android:layout_width="40dp"
android:layout_height="40dp"
android:textOff="F"
android:textOn="F"
android:background="@drawable/round_button"
android:textSize="15sp"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"/>
<ToggleButton
android:id="@+id/saturday"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"
android:background="@drawable/round_button"
android:textOff="S"
android:textOn="S"
android:textSize="15sp" />
<ToggleButton
android:id="@+id/sunday"
android:layout_width="40dp"
android:layout_height="40dp"
android:textOff="S"
android:textOn="S"
android:background="@drawable/round_button"
android:textSize="15sp"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"
android:layout_marginRight="5sp"/>
</LinearLayout>
答案 0 :(得分:1)
最简单的方法是使用all: main.c
@gcc -I$(INCLUDE) main.c -o test.out $(CFLAGS) $(LDFLAGS)
作为父视图组,然后在视图之间创建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