Kotlinで作るAndroidアプリ・・アナログ時計の背景画像変え
こんにちは。川上です。
時計針の回転処理ができたので、Swift版のアナログ時計同様に、しっかり蛇足しとかなあかんよね。
と、いう事で、Pi、Pi、Pi、Poooo です。
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | // --- PiPiPoo管理用 private var pipoo_idx = 0 // ---- Now時刻の表示 fun updateTimeClock() { val textclock = findViewById(R.id.textTimer) as TextView textclock.text = getToday() val dateTime: DateTime = DateTime.now() val year: Int = dateTime.year val day: Int = dateTime.day val hour:Int = dateTime.hour val mint:Int = dateTime.minute val second:Int = dateTime.second println("--- year =$year day=$day") println("--- hour =$hour mint=$mint,mint=$second") //--- 短針の表示 updateHoure(hour,mint) //--- 長針の表示 updateMinur(mint) //--- 秒針の表示 updateSecond(second) //--- justUp_non justUp_non(mint,second) } // --- just Make Up_non fun justUp_non(mint :Int,sec:Int) { println("--- justUp_non mint =$mint sec=$sec") if (sec == 54 ) { println(" --- On -- justClock_Non --") baseVwChgImg() } else if (pipoo_idx > 0 ) { println(" --- Update -- justClock_Non --") baseVwChgImg() } else if (pipoo_idx == 0) { var pipngVw : ImageView? = findViewById(R.id.pi) var poopngVw : ImageView? = findViewById(R.id.poo) pipngVw!!.setVisibility(View.INVISIBLE) poopngVw!!.setVisibility(View.INVISIBLE) } } fun baseVwChgImg(){ println("--- baseVwChgImg pipoo_idx =$pipoo_idx ") var basepngVw : ImageView? = findViewById(R.id.base_png) var pipngVw : ImageView? = findViewById(R.id.pi) var poopngVw : ImageView? = findViewById(R.id.poo) // --- PiPiPoo画像ID val imgarry = arrayOf(R.drawable.non_1, R.drawable.non_2, R.drawable.non_1, R.drawable.non_2, R.drawable.non_1, R.drawable.non_2, R.drawable.non_3,R.drawable.non_3, R.drawable.non_3,R.drawable.non_3,R.drawable.non_3 ) val bitmap1 = BitmapFactory.decodeResource( resources, imgarry[pipoo_idx] ) basepngVw!!.setImageBitmap(bitmap1) // ---- Pi,Pooの表示OnOff if (pipoo_idx == 0 || pipoo_idx == 2 || pipoo_idx == 4) { pipngVw!!.setVisibility(VISIBLE) } else if (pipoo_idx >= 6) { poopngVw!!.setVisibility(VISIBLE) } else { pipngVw!!.setVisibility(View.INVISIBLE) poopngVw!!.setVisibility(View.INVISIBLE) } pipoo_idx ++ // -- PiPiPoo 完了 if (pipoo_idx == imgarry.count()) { val bitmap2 = BitmapFactory.decodeResource( resources, R.drawable.base_tokei ) basepngVw.setImageBitmap(bitmap2) pipngVw!!.setVisibility(View.INVISIBLE) poopngVw!!.setVisibility(View.INVISIBLE) pipoo_idx = 0 } } |
残っているアナログ時計の処理は、曜日と日付の表示ですwね。
でもって、iPhoneXRでのアナログ時計動作はコチラで、Swift版同様のKotlin版アナログ時計はこちらです。
ではでは。