I tried gravity="center"
, foregroundGravity="center"
and textAlignment="center"
for ChipGroup in the XML file but it won't work. Any ideas?
7 回答
我尝试在Flexbox中使用 Chip ,它的工作原理是这样的。
<com.google.android.flexbox.FlexboxLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
app:flexWrap="wrap"
app:justifyContent="center"> ... </com.google.android.flexbox.FlexboxLayout>
应该有更好的方法来实现这一点,但我猜这会在那里工作。
更新(2021 年):由于稳定性和缺乏来自 Google 的更新,我删除了 flexbox 依赖项,现在使用 ConstraintLayout 的 Flow 实现了相同的效果,任何使用该技术的人也许也可以考虑这一点,看看https://stackoverflow.com /a/61545990以编程方式填充它。
将其放入 LinearLayout 并使其重力为“center_horizontal”。然后将芯片组的 layout_width 设置为“wrap_content”。这对我有用。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal">
<com.google.android.material.chip.ChipGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/langsChipGroup"
>
</com.google.android.material.chip.ChipGroup>
</LinearLayout>
如果您有ChipGroup
in a ConstraintLayout
,请使用
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
像这样:
<com.google.android.material.chip.ChipGroup
android:id="@+id/chips"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
...
确保不要将该layout_width
字段设置为match_parent
,因为它不会那样工作。
这个库可以帮助你找出你的查询。请检查一下。让我知道你的想法。
ChipCloud 库最初是 fiskurgit 为一些更大的黑客马拉松项目(非常)快速构建的 Android 视图。它创建了材料“芯片”的包裹云。Play Store 上提供了他们版本的基本演示 - 我正在维护这个 fork 以获得我需要的功能。
我正在写作,认为它会帮助某人。我有一个类似的问题。但我只有一条线。我用以下形式解决了这个问题
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollbars="none"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<com.google.android.material.chip.ChipGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="@dimen/padding"
android:paddingEnd="@dimen/padding"
app:singleLine="true">
<com.google.android.material.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Entry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<com.google.android.material.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Entry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
// ...
</com.google.android.material.chip.ChipGroup>
</HorizontalScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
如果我帮助了某人,我很高兴。
将芯片组的宽度放入wrap_content
,使父视图对center
包含芯片组的重力。这样它就会居中对齐。
请尝试以下操作:
layout_gravity="center"
希望这会帮助你。