FlexboxLayout使用和各属性说明

更新时间:2023-06-23 10:53:18 阅读: 评论:0

FlexboxLayout使⽤和各属性说明⼀、FlexboxLayout简介
FlexboxLayout 是Github上针对 Android 平台的,实现类似 Flexbox 布局⽅案的⼀个开源项⽬。
特点是灵活,可以简单、快捷的实现复杂布局。
⼆、使⽤⽅式
项⽬中添加依赖:
implementation 'le.android:flexbox:1.0.0'
然后就可以像LinearLayout,RelativeLayout⼀样使⽤啦(当然⽀持的特性不同)
1)在布局⽂件中使⽤:
<?xml version="1.0" encoding="utf-8"?>
&le.android.flexbox.FlexboxLayout xmlns:android="/apk/res/android"
xmlns:app="/apk/res-auto"
android:id="@+id/flexbox_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:alignContent="flex_start"
app:alignItems="center"
app:dividerDrawable="@drawable/flex_divider_shape"
app:flexDirection="row"
app:flexWrap="wrap"
app:justifyContent="flex_start"
app:showDivider="beginning|middle">
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/flex_divider_shape"杜牧的诗句
android:gravity="center"
android:padding="10dp"
android:layout_margin="10dp"
android:text="互联⽹"
app:layout_alignSelf="flex_start" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/flex_divider_shape"
android:gravity="center"
android:padding="10dp"
android:layout_margin="10dp"
android:text="电影"
app:layout_alignSelf="flex_start"
app:layout_flexGrow="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/flex_divider_shape"
android:gravity="center"
android:padding="10dp"
android:layout_margin="10dp"
android:text="美⾷"
app:layout_alignSelf="flex_start"
app:layout_flexGrow="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/flex_divider_shape"        android:gravity="center"
android:padding="10dp"
android:layout_margin="10dp"
android:text="动漫"
app:layout_alignSelf="flex_start"
app:layout_flexGrow="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/flex_divider_shape"        android:gravity="center"
android:padding="10dp"
android:layout_margin="10dp"
android:text="⿊科技"
app:layout_alignSelf="flex_start" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/flex_divider_shape"        android:gravity="center"
android:padding="10dp"
android:layout_margin="10dp"
android:text="户外旅⾏"
app:layout_alignSelf="flex_start" />
<TextView
产后贫血
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/flex_divider_shape"        android:gravity="center"
android:padding="10dp"
android:layout_margin="10dp"
android:text="琴棋书画"
app:layout_alignSelf="flex_start" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/flex_divider_shape"        android:gravity="center"
android:layout_margin="10dp"
android:padding="10dp"
android:text="⼩说"
app:layout_alignSelf="flex_start" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/flex_divider_shape"        android:gravity="center"
android:padding="10dp"
android:layout_margin="10dp"
android:text="运动"
app:layout_alignSelf="flex_start" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/flex_divider_shape"
android:background="@drawable/flex_divider_shape"
android:gravity="center"
android:padding="10dp"
android:layout_margin="10dp"
android:text="摄影"
app:layout_alignSelf="flex_start"
app:layout_order="2" />
电力增容</le.android.flexbox.FlexboxLayout>
2)在代码中使⽤
mFlexboxLayout = (FlexboxLayout) findViewById(R.id.flexbox_layout);
// 通过代码向FlexboxLayout添加View
TextView textView = new TextView(this);
textView.tBackground(getResources().getDrawable(R.drawable.label_bg_shape));
textView.tText("Test  Label");
textView.tGravity(Gravity.CENTER);
textView.tPadding(30,0,30,0);
textView.tTextColor(getResources()._color));
mFlexboxLayout.addView(textView);
/
/通过FlexboxLayout.LayoutParams 设置⼦元素⽀持的属性
ViewGroup.LayoutParams params = LayoutParams();
if(params instanceof FlexboxLayout.LayoutParams){
FlexboxLayout.LayoutParams layoutParams = (FlexboxLayout.LayoutParams) params;
layoutParams.tFlexBasisPercent(0.5f);
}
抚州区号
三、FlexboxLayout⽀持的属性说明
⽀持的属性有:
flexDirection,flexWrap,justifyContent,alignItems,alignContent,showDividerHorizontal,dividerDrawableHorizontal,showDivid
1、flexDirection
flexDirection属性决定了主轴的⽅向,即FlexboxLayout⾥⼦Item的排列⽅向,有四种取值:
row (default): 默认值,主轴为⽔平⽅向,起点在左端,从左到右。
row_rever:主轴为⽔平⽅向,起点在右端,从右到左。
column:主轴为竖直⽅向,起点在上端,从上到下。
column_rever:主轴为竖直⽅向,起点在下端,从下往上。
2、flexWrap
这个属性决定Flex 容器是单⾏还是多⾏,并且决定副轴(与主轴垂直的轴)的⽅向。有三种取值:noWrap: 不换⾏,⼀⾏显⽰完⼦元素。
飘的成语>团队用英语怎么说>女性经常头痛
wrap: 按正常⽅向换⾏。
wrap_rever: 按反⽅向换⾏
3、justifyContent
justifyContent 属性控制元素主轴⽅向上的对齐⽅式,有五种取值:flex_start (default): 默认值,左对齐
flex_end: 右对齐
排骨汤有什么营养center: 居中对齐
space_between: 两端对齐,中间间隔相同
space_around: 每个元素到两侧的距离相等

本文发布于:2023-06-23 10:53:18,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1051159.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:属性   主轴   元素   添加   决定   类似   实现   竖直
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图