Kotlinで作るAndroidアプリ・・ライフサイクルでの画面表示タイミングは何処?
MacのAndroid StudioでKotlinでもってAndroidアプリを作ろうと野望している川上です。
SwiftアンドXcode風に似たり寄っりで、出来るだけ簡単に、Kotlinで使えたらイイのになぁ・・
と、つい、思っちゃいます。
初期作成時のアプリの表示動作を、実機やシミュレータ(ん?エミュレータ)で縦横に回転してみていると、
や
で、表示されました。
ダメっすね。時計数字文字位置が外れてましたw。
現状、文字列の表示処理のタイミングは、テンプレートのおサラプロジェクトで実装されていたライフサイクルの起動初期タイミング関数は、
Androidでは、
・class MainActivity 内の
ー override fun onCreate(・・・)
で、
SwiftでのiOSでは、
・class ViewController: UIViewController
ー override func viewDidLoad()
の起動初期タイミングでしょう。。(たぶん)
ー ・・ SwiftUIでは、ちゃうみたいですね。
現状のMainActivity.kt内のNGコードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | class MainActivity : AppCompatActivity() { private val PARTITIONS = 12 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //時計盤の数字表示 dispClockBoard() val textclock = findViewById(R.id.textTimer) as TextView textclock.text = getToday() } // 現在日付時の取得 @SuppressLint("SimpleDateFormat") fun getToday(): String { val date = Date() val format = SimpleDateFormat("yyyy/MM/dd HH:mm:ss") return format.format(date) } // 時計盤の数字表示 fun dispClockBoard() { ・・・ } } |
ので、
・ fun dispClockBoard()
・ 表示処理タイミング
をこの辺から叩いてみます。
ではでは。