android RelativeLayout 动态添加View的一些知识

52 阅读1分钟
<RelativeLayout
    android:id="@+id/rL_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

第一种 不设置规则直接添加 充满父节点

val parent =  findViewById<RelativeLayout>(R.id.rL_layout)
val view = View(this)
val param = RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)

view.setBackgroundColor(Color.RED)
parent.addView(view,param)

第二种 设置宽高 在父节点左上角展示

val parent =  findViewById<RelativeLayout>(R.id.rL_layout)
  val view = View(this)
  val param = RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)
  param.width = 100
  param.height = 100
  view.setBackgroundColor(Color.RED)
  parent.addView(view,param)

第三种 添加规则 在父节点居中展示

val parent =  findViewById<RelativeLayout>(R.id.rL_layout)
val view = View(this)
val param = LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)
param.addRule(RelativeLayout.CENTER_IN_PARENT);
param.width = 100
param.height = 100
view.setBackgroundColor(Color.RED)
parent.addView(view,param)