概述
这是我的解决方案:
/**
* FlexboxLayout设置maxLines之后,如果item超出maxLines,会全部罗列在最后一行,不符合需求;
*
* FlexBoxLayoutMaxLines支持设置MaxLines,并截断超出MaxLines的内容;
*/
public class FlexBoxLayoutMaxLines extends FlexboxLayout {
private int maxLines = NOT_SET;
@Override
public void setMaxLine(int maxLine) {
maxLines = maxLine;
}
public int getMaxLines() {
return maxLines;
}
/**
* see {@link #getMaxLines()}
*/
@Deprecated
@Override
public int getMaxLine() {
return NOT_SET;
}
public FlexBoxLayoutMaxLines(Context context) {
this(context, null);
}
public FlexBoxLayoutMaxLines(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public FlexBoxLayoutMaxLines(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
setMaxLine(super.getMaxLine());
super.setMaxLine(NOT_SET);
}
@Override
public List getFlexLinesInternal() {
List flexLines = super.getFlexLinesInternal();
int size = flexLines.size();
if (maxLines > 0 && size > maxLines) {
flexLines.subList(maxLines, size).clear();
}
return flexLines;
}
}
最后
以上就是合适纸飞机为你收集整理的android限制行数_【问答】怎么限制FlexboxLayout的行数呢?的全部内容,希望文章能够帮你解决android限制行数_【问答】怎么限制FlexboxLayout的行数呢?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复