Pythonで推し鑑賞スマホアプリを作る
このYoutubeで紹介されている小型ディスプレイ、普通にほしい!
けど、ミニマリストでもあるので、モノはあんまり増やしたくない。
でも、推し鑑賞はしたい!
…
スマホがあるじゃないか!
ということで、推し観賞用のアプリを作ります。
まずは、スマホアプリ開発環境のセットアップ。
スマホって、触っていないとスリープしちゃうので、スリープ禁止にします。
こちらのサイト様を参考にしました。
androidと書いてある通りandroid専用です。
iphoneは不明です。
ていうか、詳細わかってないからめちゃ苦戦した…
この時点でも推しの画像がずっと表示されるようになるので、これでも十分といえば十分です。
でも、それだけだとスライドショーアプリとか変わらんので、できる限りのアニメーションをつけていこうと思います。
とりあえず、現時点でのコード。
import整理していないのでこの時点ではこんなにいらんはず。
main.py
#!/home/shu/python/oshi/oshi_venv/bin/python
"""
機能:推し鑑賞用アプリ
"""
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.config import Config
from kivy.core.audio import SoundLoader
from kivy.properties import StringProperty
from kivy.utils import platform
# デバッグ用にPC上でもスマホみたいな縦長表示にする。
Config.set('graphics', 'width', '315')
Config.set('graphics', 'height', '600')
class MyRoot(BoxLayout):
def init(self, **kwargs):
super().init(**kwargs)
# スリープモードを無効化
if platform == 'android':
from android.runnable import run_on_ui_thread
from jnius import autoclass
@run_on_ui_thread
def prevent_sleep():
PythonActivity = autoclass('org.kivy.android.PythonActivity')
activity = PythonActivity.mActivity
activity.getWindow().addFlags(128) # FLAG_KEEP_SCREEN_ON
prevent_sleep()
class Main(App):
def build(self):
return MyRoot()
"""
機能:メイン関数
注意:コールする関数名と.kvのファイル名を一致させる(大文字小文字は無視)
"""
if name == 'main':
Main().run()main.kv
<MyRoot>:
orientation: 'vertical'
Image:
allow_stretch: True
keep_ratio: True
source: "image/normal.png"
size: self.parent.size
pos: self.parent.posスリープすることなくずーっと画像が表示されます。
これだけでも十分癒やされます。

次回はちょっとしたアニメーションなどつけます。
