我正在构建一个像这样的布局的挑战:
我的第一个见解是使用带有适配器的RecyclerView,该适配器可以处理每个项目并使其布局膨胀。
到目前为止,还不是那么好。
到目前为止我有这个布局:
我可以感觉到我几乎就在那里,但是真的......我花了一周的时间考虑如何让它变得更好,或者就像UI提出的那样。
我的一些尝试是
伙计们,我不是在这里寻找一些已经完成的代码安静或有人来完成我的工作。实际上我正在寻找隧道尽头的灯光。
您好,如果您不想使用recyclerview,还有另一个使用自定义库的示例,其行为类似于List qazxsw poi
使用以下代码,您可以预先设置所需的选择:
mFlowLayout.setAdapter(new TagAdapter<String>(mVals)
{
@Override
public View getView(FlowLayout parent, int position, String s)
{
TextView tv = (TextView) mInflater.inflate(R.layout.tv,
mFlowLayout, false);
tv.setText(s);
return tv;
}
});
将显示如下结果: -
mAdapter.setSelectedList(1,3,5,7,8,9);
使用包含名为Chips的组件的新Google材料设计库可以轻松完成此操作。因此您不必使用RecyclerView。
芯片代表小块中的复杂实体,例如联系人。它是一个圆形按钮,由标签,可选芯片图标和可选的关闭图标组成。如果可以检查芯片,可以点击或切换芯片。
如何使用组件:
1.导入库
2.使用以下代码
implementation 'com.google.android.material:material:1.1.0'
你可以在这里找到更多细节: <com.google.android.material.chip.ChipGroup
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- Your items here -->
<com.google.android.material.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Item 1"/>
<com.google.android.material.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Item 2"/>
<com.google.android.material.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Item 3"/>
<!-- End -->
</com.google.android.material.chip.ChipGroup>
现在可能为时已晚,但您也可以使用谷歌的Material components