問題是,如果我在Windows上創建的東西和測試在Android三星S3桂是同一件事顯示了在不同的地方不同的部件。例如GUI顯示佈局同樣爲所有屏幕Kivy
1.I創建一個小部件設置其大小爲800,600
2.Include標籤大小爲100,100 3.把它放在700,10位置,所以它應該是在右下角可見。
這在Windows上運行的測試環境OK,但是當我使用kivy啓動移動代碼,三星S3它在同一位置dosent顯示標籤。
我對http://kivy.org/docs/api-kivy.metrics.html瞭解MATIX文檔和代碼
import os
os.environ['KIVY_METRICS_DENSITY'] = '1'
os.environ['KIVY_DPI'] = '96'
這是Windows中的數值,用於以下但dosent似乎在三星S3工作的這些.orifginal值是 KIVY_METRICS_DENSITY = 2 KIVY_DPI = 320 Window.size = 1028X728(我認爲)
然後我將dp添加到位置和大小的值,但在Android上它仍然是一樣的。 我知道我錯過了一些東西。有人可以建議嗎?
下面是示例代碼:
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.widget import Widget
import os
os.environ['KIVY_METRICS_DENSITY'] = '1'
os.environ['KIVY_DPI'] = '96'
class Container(Widget):
def __init__(self, **kwargs):
super(Container, self).__init__(**kwargs)
self.size = '800dp','600dp'
label = Label(text="Am i A Label ?")
label.size = '100dp','100dp'
label.pos = '700dp','10dp'
self.add_widget(label)
class MyJB(App):
def build(self):
parent = Container()
return parent
if __name__ == '__main__':
MyJB().run()
我試圖與錨的佈局,甚至與電網,但我無法找到如何做到這一點,因爲我真正的大計劃,我有很多這樣的小工具,我需要穿上容器構件......請看看我的問題,我對錨佈局創建 –
看起來新手問題給你,但但我提出了類似的問題在gridlayout。 –
也有沒有可能做到這一點,沒有您使用的佈局和更改不同屏幕的查找分辨率,並以某種方式將分辨率值相乘以找到該屏幕中小部件的相對位置? –