この文書の現在のバージョンと選択したバージョンの差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
|
android:コードでviewを追加する [2019/11/04 17:31] ips 作成 |
android:コードでviewを追加する [2019/11/04 19:44] (現在) ips |
||
|---|---|---|---|
| ライン 1: | ライン 1: | ||
| ====== コードでViewを追加する ====== | ====== コードでViewを追加する ====== | ||
| + | |||
| + | ===== LinearLayoutの場合 ===== | ||
| + | |||
| <code> | <code> | ||
| ライン 25: | ライン 28: | ||
| layout.addView(imagev) | layout.addView(imagev) | ||
| | | ||
| + | ・・・ | ||
| </code> | </code> | ||
| + | |||
| + | ===== ConstraintLayoutの場合 ===== | ||
| + | |||
| + | <code> | ||
| + | override fun onCreate(savedInstanceState: Bundle?) { | ||
| + | super.onCreate(savedInstanceState) | ||
| + | //setContentView(R.layout.activity_main) デフォルトのsetContentViewは使わない | ||
| + | |||
| + | // ConstraintLayoutを作る | ||
| + | var layout=ConstraintLayout(this) | ||
| + | layout.layoutParams = ConstraintLayout.LayoutParams(ConstraintLayout.LayoutParams.MATCH_PARENT,ConstraintLayout.LayoutParams.MATCH_PARENT) | ||
| + | // セットする | ||
| + | setContentView(layout) | ||
| + | |||
| + | // 追加したいViewを作る | ||
| + | var imagev = ImageView(this) | ||
| + | imagev.setImageResource(R.drawable.man) | ||
| + | imagev.id = View.generateViewId() // idを設定する | ||
| + | layout.addView(imagev) // ConstraintLayoutに追加したViewを追加する | ||
| + | |||
| + | // constraintSet を使ってViewの位置を調整する | ||
| + | var constraintSet = ConstraintSet() | ||
| + | constraintSet.clone(layout) | ||
| + | |||
| + | // android:layout_width="wrap_content" | ||
| + | constraintSet.constrainWidth(imagev.id,ConstraintSet.WRAP_CONTENT) | ||
| + | |||
| + | //android:layout_height="wrap_content" | ||
| + | constraintSet.constrainHeight(imagev.id,ConstraintSet.WRAP_CONTENT) | ||
| + | |||
| + | // app:layout_constraintBottom_toBottomOf="parent" | ||
| + | constraintSet.connect( | ||
| + | imagev.id, | ||
| + | ConstraintSet.BOTTOM, | ||
| + | ConstraintSet.PARENT_ID, | ||
| + | ConstraintSet.BOTTOM, | ||
| + | 0) | ||
| + | |||
| + | constraintSet.connect( | ||
| + | imagev.id, | ||
| + | ConstraintSet.TOP, | ||
| + | ConstraintSet.PARENT_ID, | ||
| + | ConstraintSet.TOP, | ||
| + | 0) | ||
| + | |||
| + | constraintSet.connect( | ||
| + | imagev.id, | ||
| + | ConstraintSet.RIGHT, | ||
| + | ConstraintSet.PARENT_ID, | ||
| + | ConstraintSet.RIGHT, | ||
| + | 0 | ||
| + | ) | ||
| + | |||
| + | constraintSet.connect( | ||
| + | imagev.id, | ||
| + | ConstraintSet.LEFT, | ||
| + | ConstraintSet.PARENT_ID, | ||
| + | ConstraintSet.LEFT, | ||
| + | 0 | ||
| + | ) | ||
| + | |||
| + | constraintSet.constrainWidth( | ||
| + | imagev.id, | ||
| + | 500 | ||
| + | ) | ||
| + | |||
| + | constraintSet.constrainHeight( | ||
| + | imagev.id, | ||
| + | 500 | ||
| + | ) | ||
| + | |||
| + | // constraintSetを適用する | ||
| + | constraintSet.applyTo(layout) | ||
| + | |||
| + | |||
| + | </code> | ||
| + | |||
| + | |||