自定义换行组件,使用简单,和普通Layout一样,支持设置Gravity
项目目录——>build.gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
app——>build.gradle
dependencies {
...
implementation 'com.github.pimaryschoolstudent:WrapLayout:1.0.0'
}
导入成功后像一般的布局使用即可 可以参考github中的MainActivity
<!--gravity 设置重心-->
<primary.student.wraplayout.WrapLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:gravity="center"
android:id="@+id/wrapLayout"
android:background="@color/colorPrimaryDark">
<TextView
android:layout_width="50dp"
android:layout_height="50dp"
android:text="1"
android:layout_margin="10dp"
android:background="@color/colorAccent"
android:gravity="center"
/>
</primary.student.wraplayout.WrapLayout>
动态添加组件
var tv = TextView(this)
tv.text = "新添加的TextView"
tv.setBackgroundColor( Color.WHITE)
var lp = ViewGroup.MarginLayoutParams(ViewGroup.MarginLayoutParams.WRAP_CONTENT,ViewGroup.MarginLayoutParams.WRAP_CONTENT)
wrapLayout.addView(tv,lp)
复制WrapLayout.java到你的项目中 在res/values/attrs.xml
<declare-styleable name="WrapLayout">
<attr name="gravity">
<enum name="center" value="1001"/>
<enum name="left" value="1002"/>
<enum name="right" value="1003"/>
</attr>
</declare-styleable>
然后就可以自由扩展了