Почему кивы дают разные результаты после апк упаковки? - PullRequest
0 голосов
/ 08 июня 2018

Это мой пользовательский виджет: -

<Entry@Widget>:
    size_hint: (1, None)
    height: sp(100)
    canvas.before:
        Color:
            rgba: 1, 1, 1, .65
        Rectangle:
            pos: self.pos
            size: self.size

    canvas:
        Color:
            rgba: 1, 1, 1, 1
        Rectangle:
            size: sp(30), sp(30)
            pos: self.right-sp(50), self.center_y
            source: root.status
    Label:
        id: first_letter
        text: root.name[0]
        color: 41/255, 128/255, 185/255, 1
        pos: root.pos
        font_size: sp(50)
    Label:
        text: root.name[1:]
        color: 41/255, 128/255, 185/255, 1
        pos: first_letter.x+sp(70), first_letter.y+sp(40)
        font_size: sp(30)
        size_hint_x: None
        width: sp(200)
        halign: 'left'
        texture_size: self.size
        text_size: self.size
    Label:
        text: root.date
        color: 17/255, 80/255, 122/255, 1
        pos: root.x+sp(50), root.y-sp(10)
        font_size: 10

и есть главный экран: -

class Entry(Widget):
    name = StringProperty('Example')
    date = StringProperty('00/00/0000')
    status = StringProperty('static/right.png')

    def on_touch_down(self, touch):
        super(Entry, self).on_touch_down(touch)
        popup = Mypopup(name=self.name)
        popup.open()
        return True

class MainScreen(FloatLayout):

    def __init__(self, **kargs):
        super(MainScreen, self).__init__(**kargs)
        layout = GridLayout(cols=1, spacing=10, size_hint_y=None)
        layout.bind(minimum_height=layout.setter('height'))
        for i in range(10):
            layout.add_widget(Entry(name='Facebook', date='12/12/2012', status='static/right.png'))
        for i in range(10):
            layout.add_widget(Entry(name='Facebook', date='12/12/2012', status='static/wrong.png'))
        scroll = ScrollView(size_hint=(1, None), height=Window.height)
        scroll.add_widget(layout)
        self.add_widget(scroll)

Когда я запускаю его на своем компьютере, он выдает: -

output in computer

после упаковки в apk и установки это выглядит так: -

output in mobile

Я хочу, чтобы это выглядело так же, как на моем компьютере.

1 Ответ

0 голосов
/ 19 июля 2018

Различные компьютеры с разными размерами экрана / разрешением могут не согласиться с размером этих вещей.Иногда по моим личным проектам я по этой причине подключал второй монитор большего размера.

Всегда есть Android studio , который вы можете использовать для получения эмулятора.Просто имейте в виду, что он принимает файлы .apk, скомпилированные для x86, а не armeabi-v7a.Это обрабатывается в вашем файле спецификации buildozer.Используйте x86 для эмуляции и armeabi-v7a для телефона.

...