问题
一直使用的是鸿洋的TagFlowLayout,用于显示标签的自动换行问题。
但最近遇到一个问题:
如果内容过长则右边的内容会缺一块,如果是一个圆角背景则会被切掉一点。为此我花费了大量时间,用官方的FlowLayout替代解决这个问题。
需要注意的是,官方的也不能在添加的view上加左右的margin,否则也会出现上述问题,而TagFlowLayout也是代码里添加了增加margin造成的。
FlowLayout的使用
<android.support.design.internal.FlowLayout
android:id="@+id/tfl_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="17dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
app:itemSpacing="8dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_title"
app:lineSpacing="8dp" />
不能在添加的view上加左右的margin,我们可以使用属性:
- app:itemSpacing 每个tag之间的间隔
- app:lineSpacing 行距
代码添加view:
private void showTagView(android.support.design.internal.FlowLayout flowLayout, final List<ArticlesBean> beanList) {
flowLayout.removeAllViews();
for (int i = 0; i < beanList.size(); i++) {
TextView textView = (TextView) View.inflate(flowLayout.getContext(), R.layout.layout_navi_tag, null);
textView.setText(Html.fromHtml(beanList.get(i).getTitle()));
flowLayout.addView(textView);
}
}
注意:
- 完整路径名:android.support.design.internal.FlowLayout
- app:itemSpacing 未知原因不能直接关联属性
- 不能在view里直接设置 margin ,会出现圆角背景会被切掉的问题。
- 如果使用
ConstraintLayout
,则FlowLayout
使用:layout_width="match_parent"
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦