Почему MDRaisedButton не работает на Android?

#python #android #kivy #buildozer #kivymd

#python #Android #kivy #buildozer #kivymd

Вопрос:

Я успешно преобразовал файл Python в APK, но кнопка не работает. Тем не менее, он работает на моем компьютере, но при нажатии кнопки ответа нет.

Код:

 class HomeScreen(Screen):
    pass
class MainApp(MDApp):
    def on_start(self):
        os.environ['SSL_CERT_FILE'] = certifi.where()
        UrlRequest('https://www.themealdb.com/api/json/v1/1/random.php', on_success=self.success, on_failure=self.failure, on_error=self.error)
    def success(self, urlrequest, result):
        ingredient_list = self.root.ids['home'].ids['ingredient_list']
        print(result)
        self.youtube = result['meals'][0]['strYoutube']
        self.name = result['meals'][0]['strMeal']
        self.category = result['meals'][0]['strCategory']
        self.area = result['meals'][0]['strArea']
        self.image = result['meals'][0]['strMealThumb']
        self.url = result['meals'][0]['strSource']
        for i in range(1,21):
            if result['meals'][0][f'strIngredient{i}'] != '':
                l = Label(text=result['meals'][0][f'strIngredient{i}'],color=(0,0,0,1))
                ingredient_list.add_widget(l)
    def view(self):
        if self.url != '' and self.youtube == '':
            Snackbar(
                text=self.url,
                size_hint_x=2
            ).show()
        if self.youtube != '' and self.url == '':
            Snackbar(
                text=self.youtube,
                size_hint_x=2
            ).show()
        if self.youtube != '' and self.url != '':
            Snackbar(
                text=self.youtube,
                size_hint_x=2
            ).show()
        if self.youtube == '' and self.url == '':
            Snackbar(text='Url is not available').show()

MainApp().run()
 

Файл KV

 ScreenManager:
HomeScreen:
    id:home
    name:'home'

<HomeScreen>:
    FloatLayout:
        MDRaisedButton:
            pos_hint:{'top':.27,'right':.65}
            size_hint:.3,.05
            text:'View'
            on_press: app.view()
 

Комментарии:

1. Используете ли вы одну и ту же версию kivy и kivymd как на вашем ПК, так и в файле buildozer.spec? Возможно, это одна из причин этого. Попробуйте использовать последнюю версию обоих в файле buildozer.spec