ユーザ用ツール

サイト用ツール


android:コードでviewを追加する

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
android:コードでviewを追加する [2019/11/04 17:31]
ips
android:コードでviewを追加する [2019/11/04 19:44] (現在)
ips
ライン 1: ライン 1:
 ====== コードでViewを追加する ====== ====== コードでViewを追加する ======
 +
 +===== LinearLayoutの場合 =====
 +
  
 <​code>​ <​code>​
ライン 27: ライン 30:
         ・・・         ・・・
 </​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>​
 +
 +
android/コードでviewを追加する.1572856299.txt.gz · 最終更新: 2019/11/04 17:31 by ips