kivy
とnumpy
モジュールを使用してpython 2.7
で書かれたアプリです。私はこのリンクのステップを踏んでbuildozer
をインストールしました:https://github.com/kivy/buildozer、私はsudo pip install https://github.com/kivy/buildozer/archive/master.zip
をしませんでした。すべてのイベント/応答を受信していないようだImage
ウィジェットが表示されていない、とボタンのtouch
:アプリケーションはPython2とPython3のWindowsでもうまく動作しますが、エラー:アンドロイドのインポートに失敗し、ボタンが応答しません
10-10 17:44:49.497 19176 19207 I python : [ERROR ] [Image ] Error reading file .\logo_example1.png
10-10 17:44:49.498 19176 19207 I python : [WARNING] [Base ] Unknown <android> provider
10-10 17:44:49.498 19176 19207 I python : [INFO ] [Base ] Start application main loop
10-10 17:44:49.503 19176 19207 I python : [INFO ] [GL ] NPOT texture support is available
10-10 17:44:49.504 19176 19207 I python : 0
10-10 17:44:49.504 19176 19207 I python : coloring
10-10 17:44:49.505 19176 19207 I python : [ERROR ] [Base ] Failed to import "android" module. Could not remove android presplash.
問題:アンドロイドbuildozer android deploy run logcat
でアプリをデプロイした後、私は、ログにいくつかのエラーを見ました。これについてフィードバックをいただければ幸いです。
現在、部分的に解決:Image
ウィジェットを今のショー、私は.\\logo_example1.png
からlogo_example1.png
に送信元アドレスを変更します。
既存の問題:Button
ウィジェットはアンドロイドではまだ反応しませんが、Windowsではうまく動作します。
これはmain.kv
です::
#: import Main main
<[email protected]>:
font_size:30
size:100, 50
<[email protected]>:
font_size:30
size:100, 50
text: "Back"
pos: Main.Wsize[0]+100, Main.Wsize[1]+100
<mainWidget>:
id: main_widget
<homeWidget>:
id: home_widget
padding : 200
Image:
id:logo
source: 'logo_example1.png'
center: 300, 450
CtmButton:
id: start_button
text: "Start"
center:300, 200
on_release: home_widget.startbutton_function()
## I also have tried replacing this with on_touch_down
## to see whether it will solve the problem
<puzzleWidget>:
id: puzzle_widget
BackButton:
id: back_button_1
center: 100, 37.5
on_release: puzzle_widget.backbutton_function()
これはmain.py
次のとおりです。スタートと戻るボタンをテストするための
コード
import kivy
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.core.window import Window
from kivy.uix.image import Image
from kivy.core.image import ImageData
from kivy.clock import Clock
from kivy.graphics import Rectangle
import time
import math
import itertools
import numpy
Window.clearcolor = (0.2, 0.25, 0.2, 0.5); col_dx = 0.005; y = list(Window.clearcolor); xstart = 0;
Window.size = (600, 700); Wsize = Window.size;
class mainWidget(Widget):
def __init__(self):
Widget.__init__(self);
home = homeWidget(); self.add_widget(home);
class homeWidget(Widget):
def __init__(self):
Widget.__init__(self);
self.bg_animate();
def printingsomething(self, dt):
print(dt);
def bg_animate(self):
global bg_anim
self.bg_anim = Clock.schedule_interval(self.printingsomething,1/40);
self.bg_anim();
def startbutton_function(self):
print('start pressed');
self.bg_anim.cancel();
mainw.clear_widgets();
mainw.add_widget(puzzleWidget());
class puzzleWidget(Widget):
def __init__(self):
Widget.__init__(self);
self.Bar1 = Image(size = [600, 75], color = list(Window.clearcolor)); self.Bar1.color[-1] = 0.8; self.Bar1.pos = [0, 700 - self.Bar1.size[1]];
self.Bar2 = Image(size = [600, 75], color = list(Window.clearcolor)); self.Bar2.color[-1] = 0.8; self.Bar2.pos = [0, 0];
#### ADD WIDGET(S):
self.add_widget(self.Bar1); self.add_widget(self.Bar2);
self.remove_widget(self.ids.back_button_1); self.add_widget(self.ids.back_button_1);
def backbutton_function(self):
print('back pressed');
self.clear_widgets();
mainw.clear_widgets();
mainw.add_widget(homeWidget());
################## main window for the app #########################
class mainApp(App):
def build(self):
global mainw
mainw = mainWidget();
return mainw
####################################################################
mainApp = mainApp()
mainApp.run();
buildozer.specで要件に 'android'を追加する必要があるかもしれません。 – Tshirtman
@Tshirtman私はなぜ.. ..尋ねるかもしれない?私は公式の手順は十分にコンパクトだと思った。 – Arief
@ Tshirtman私はそれを試して、ボタンはまだ応答を受信していません。 – Arief