如何创建这种类型的 xml 布局
How do I create this type of xml layout
请帮助我在 android xml 中实现此类布局。
我试过 RecyclerView
和 this library 但我仍然没有得到我想要的。
有什么想法吗?
谢谢
您可以在 android Material 设计中使用 ChipGroup
。
请参考,
只需使用 Material Components Library and the Chip
组件。
静态的话可以用layout来定义:
<com.google.android.material.chip.ChipGroup
android:id="@+id/chip_group"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- Chips can be declared here, or added dynamically. -->
<com.google.android.material.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Entry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipIcon="@drawable/...."
android:text="@string/..."/>
.....
</com.google.android.material.chip.ChipGroup>
或者您可以通过编程方式完成。
定义单片布局(chip_layout.xml
)
<com.google.android.material.chip.Chip
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
在您的代码中:
ChipGroup reflowGroup = view.findViewById(R.id.chip_group);
for (.....) {
Chip chip =
(Chip) getLayoutInflater().inflate(R.layout.chip_layout, chipGroup, false);
chip.setText(....);
.....
chipGroup.addView(chip);
}
我试过 RecyclerView
和 this library 但我仍然没有得到我想要的。
有什么想法吗?
谢谢
您可以在 android Material 设计中使用 ChipGroup
。
请参考,
只需使用 Material Components Library and the Chip
组件。
静态的话可以用layout来定义:
<com.google.android.material.chip.ChipGroup
android:id="@+id/chip_group"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- Chips can be declared here, or added dynamically. -->
<com.google.android.material.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Entry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipIcon="@drawable/...."
android:text="@string/..."/>
.....
</com.google.android.material.chip.ChipGroup>
或者您可以通过编程方式完成。
定义单片布局(chip_layout.xml
)
<com.google.android.material.chip.Chip
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
在您的代码中:
ChipGroup reflowGroup = view.findViewById(R.id.chip_group);
for (.....) {
Chip chip =
(Chip) getLayoutInflater().inflate(R.layout.chip_layout, chipGroup, false);
chip.setText(....);
.....
chipGroup.addView(chip);
}