1

目標: アプリケーションをすべての Android デバイスに適合させる

kivy と KivyMD を使用してゲームを構築しようとしていますが、コードをすべての Android デバイスに適合させる方法が正確にわかりません。

kivyMD のドキュメントでは、開発者はしばしば「dp」メトリック (密度に依存しないピクセル) を使用して、ウィジェットのサイズを記述します。

python3 main.py -m screen:note2,portrait以下のコードを使用してメモ2でアプリがどのように見えるかを表示するために使用すると、レイアウトは希望どおりに表示されますが、画面密度が異なる(3または1など)デバイスを使用すると問題が発生します(https :/ /github.com/kivy/kivy/blob/master/kivy/modules/screen.py )。私のアプリは、画面密度が 2 のデバイスでは見栄えがよくなりますが、他の画面密度では、コードの異なるバージョンを作成する必要がありますか?

たとえば、画面密度が 2 の場合、次のように使用できます。

size: "280dp", "180dp"

密度が 1 の場合、次のようなものを使用できます。

size: "140dp", "90dp"等...

これを行う正しい方法は何かを本当に知りたいです。前もって感謝します

main.py

from kivy.lang import Builder

from kivymd.app import MDApp

KV = '''
Screen:
    MDCard:
        orientation: "vertical"
        padding: "8dp"
        size_hint: None, None
        #Those dimensions look great when the density is two AND Width of the screen is less than 1920
        size: "280dp", "180dp"
        pos_hint: {"center_x": .5, "center_y": .5}
        MDLabel:
            text: "Title"
            theme_text_color: "Secondary"
            size_hint_y: None
            height: self.texture_size[1]
        MDSeparator:
            height: "1dp"
        MDLabel:
            text: "Body"
'''


class TestCard(MDApp):
    def build(self):
        return Builder.load_string(KV)


TestCard().run()  
4

0 に答える 0