QMUIFloatLayout
类似 CSS 里 float: left 的浮动布局,从左到右排列子 View 并自动换行。支持以下特性:
1.控制子 View 之间的垂直/水平间距。
2.控制子 View 的水平对齐方向(左对齐/居中/右对齐)。
2.限制子 View 的个数或行数。
使用
1、布局初始化
<com.qmuiteam.qmui.widget.QMUIFloatLayout
android:id="@+id/qmuidemo_floatlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
app:qmui_childHorizontalSpacing="20dp"
app:qmui_childVerticalSpacing="20dp"/>
2、具体方法
QMUITopBarLayout mFloatLayout=findViewById(R.id.qmuidemo_floatlayout);
增加一个item.
private void addItemToFloatLayout(QMUIFloatLayout mFloatLayout) {
int currentChildCount = mFloatLayout.getChildCount();
TextView textView=new TextView(FloatLayoutActivity.this);
textView.setGravity(Gravity.CENTER);
int textViewPadding=QMUIDisplayHelper.dpToPx(4);
textView.setPadding(textViewPadding,textViewPadding,textViewPadding,textViewPadding);
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP,14);
textView.setBackgroundColor(Color.BLUE);
int textSize=QMUIDisplayHelper.dpToPx(60);
textView.setTextColor(Color.BLACK);
textView.setText(currentChildCount+"");
ViewGroup.LayoutParams lp=new ViewGroup.LayoutParams(textSize,textSize);
mFloatLayout.addView(textView,lp);
}
减少一个item
private void removeItemFromFloatLayout(QMUIFloatLayout mFloatLayout) {
if(mFloatLayout.getChildCount()==0){
return;
}
mFloatLayout.removeView(mFloatLayout.getChildAt(mFloatLayout.getChildCount()-1));
}
居左
mFloatLayout.setGravity(Gravity.LEFT);
居中
mFloatLayout .setGravity(Gravity.CENTER_HORIZONTAL);
居右
mFloatLayout.setGravity(Gravity.RIGHT);
限制最多显示1行
mFloatLayout.setMaxLines(1);
限制最多显示4个item
mFloatLayout.setMaxNumber(4);
不限制行数或个数
mFloatLayout.setMaxLines(Integer.MAX_VALUE);
网友评论