大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

Kotlinで作るAndroidアプリ・・onWindowFocusChanged()とprintln()や Log.d()

著者:川上洋
公開日:2019/07/04
最終更新日:2019/07/04
カテゴリー:技術情報 雑記
タグ:

おはじめての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”関連などの囓り方が、イマイチ、トンチンカンだったので、その辺りはオイオイに・・

ではでは。

    上に戻る