3
0

More than 3 years have passed since last update.

KotlinでViewを動的に動かす

Posted at

KotlinでViewを定義する
val button: Button     =   Button(this)
//  変数名  Viewの種類      左と同じ

これによりxmlファイルでボタンを設置したときのようにActivity上にButtonを置く準備ができた

xmlファイルでLainerLauputを定義する
<LinearLayout
            android:id="@+id/linerlayout_parent"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" />

これは、普通にXMLファイルでViewをドラッグアンドドロップするだけでよい
この時初期状態では、LinerLaoutにidがついていないので、コードか、GUI上で好きなidを設定しましょう

addViewでlinerlayoutにViewを追加する
linerlayout_parent.addView(button)
//自分でつけたid            Viewの変数名

これでlilnerlayoutにbuttonが追加される

buttonの背景の設定方法
button.setBackgroundResource(R.drawable.group10)//バックグラウンドに画像をセット
//                           drawableフォルダーにセットした画像を選択

buttonにテキストを追加する
button.text = "サンプル"
val string :String = "サンプル"
button.text = string

どちらでもできるが、文字列を変数として扱ったほうが、動的にテキストを変えやすい

文字列の一部の文字の大きさを変える
string.setSpan(RelativeSizeSpan(1.9f),       8, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)//文字列の一部の大きさを変える
//                              文字の大きさ 大きさを変える文字のスタート位置と終了位置を何文字目かで指定

文字列の一部の色を変える
string.setSpan(ForegroundColorSpan(Color.RED), 57, 74, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)//文字列の一部の色変更

Viewの高さ、幅を指定する
button.layoutParams.height = 100//高さを指定
button.layoutParams.width  = 100//幅を指定

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0