記錄下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)
}
}