Kotlinで作るAndroidアプリ・・onWindowFocusChanged()とprintln()や Log.d()
おはじめてのAndroidアプリ作成で、まだまだ入口周りをウロウロしている川上です。
Swiftでアプリ作成した時に、
ViewController.swift
・ override func viewDidLoad()
で、ViewにButtonやNaviBar等の初期設定や何かしらの変数やArry作り等を整えました。
また、スマフォの縦横置き等の表示面の塩梅には
・ override func viewDidLayoutSubviews()
で、部品の位置調整や再設定しました。
概ね、XcodeのStoryboardでButtonやLabel等の位置にはAutoLayoutで設定しますが、結構、コーディングでベタベタでするのが好きなタチなんでね・・。
スマフォの縦横置きの表示画面の変更に
・ hogeview.bounds
・ hogeview.frame
などで取得して、画面のViewから繋がった各部品位置を調整しました。
で、Androidアプリ作成でも
ー きっと、同様の対応できるライフサイクル関数があるはずだ!
とググりました。
おっ! やっぱり、Hitしましたね。
・ override fun onWindowFocusChanged(hasFocus: Boolean)
でした。
ー ここで、対応するViewの縦横のサイズを取得して、表示位置を合わせレバイイのね。。
で、スマフォの縦横置き時のViewのサイズの取得してLogでの表示ですwね。
Swift4.0のLog用では
・ print(“– hogeViewの横サイズは=\(hogeView.bounds.size.width)”)
でした。
Android StudioでのLog方法では、
改行無し:
・ print(“hogeViewの横サイズは = $width”)
改行有り:
・ println(“— phogeViewの横サイズは= = $width — “)
・ Log.d(“– TAG —“,”—hogeViewの横サイズは= $width”)
でした。
ちなみに、Log.d()には、
・ import android.util.Log
が必要みたいです。
デバッグ機で動作すると、何かしらのLogは、ずらずらと吐かれれいたけど、MyLog箇所は何処?でした。
どうやら、MyLogのデバッグ文には、任意文字をくっつけるのがフツーみたいでした。
⬇️のように表示結果は成功でしたが、の”Layout”と”View”関連などの囓り方が、イマイチ、トンチンカンだったので、その辺りはオイオイに・・
ではでは。