记录下Koltin 在Android上的入门使用
涉及 Koltin 基础(变量与赋值), ConstraintLayout(约束布局), ConstraintSet(代码实现约束布局)
class MainActivity : AppCompatActivity() {
lateinit var mButton : Button
var mButtonText : String = "Button Text"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//1.获取ConstraintLayout, 注意该布局文件所有控件都需要有id
var contentLayout : ConstraintLayout = findViewById(R.id.content_layout)
//2.创建一个Button对象,并且设置id; id在使用ConstrainSet 调整布局时也要用到
mButton = Button(this)
mButton.setText(mButtonText)
mButton.id = View.generateViewId()
//3. 把Button添加到ConstranntLayout中
contentLayout.addView(mButton)
//4. 创建 ConstrainSet 对象,并且获取ConstrainLayout下所有的控件
var cs : ConstraintSet = ConstraintSet()
cs.clone(contentLayout)
//5. 调整Button的布局
cs.connect(mButton.id, ConstraintSet.START, ConstraintSet.PARENT_ID, ConstraintSet.START, 30)
cs.connect(mButton.id, ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.TOP, 50)
//6. 适用到ConstraintLayout中
cs.applyTo(contentLayout)
//7. 也可以调整ConstraintLayout下其它控件的布局
// cs.connect(R.id.hello, ConstraintSet.START, ConstraintSet.PARENT_ID, ConstraintSet.START)
// cs.connect(R.id.hello, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM)
// cs.applyTo(contentLayout)
}
}