-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #899 from inclement/softinput_mode
Addded textinput scatter testapp
- Loading branch information
Showing
1 changed file
with
144 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
print('main.py was successfully called') | ||
|
||
import os | ||
print('imported os') | ||
|
||
from kivy import platform | ||
|
||
if platform == 'android': | ||
print('contents of ./lib/python2.7/site-packages/ etc.') | ||
print(os.listdir('./lib')) | ||
print(os.listdir('./lib/python2.7')) | ||
print(os.listdir('./lib/python2.7/site-packages')) | ||
|
||
print('this dir is', os.path.abspath(os.curdir)) | ||
|
||
print('contents of this dir', os.listdir('./')) | ||
|
||
with open('./lib/python2.7/site-packages/kivy/app.pyo', 'rb') as fileh: | ||
print('app.pyo size is', len(fileh.read())) | ||
|
||
import sys | ||
print('pythonpath is', sys.path) | ||
|
||
import kivy | ||
print('imported kivy') | ||
print('file is', kivy.__file__) | ||
|
||
from kivy.app import App | ||
|
||
from kivy.lang import Builder | ||
from kivy.properties import StringProperty | ||
|
||
from kivy.uix.popup import Popup | ||
from kivy.clock import Clock | ||
|
||
print('Imported kivy') | ||
from kivy.utils import platform | ||
print('platform is', platform) | ||
|
||
|
||
kv = ''' | ||
#:import Metrics kivy.metrics.Metrics | ||
#:import Window kivy.core.window.Window | ||
<FixedSizeButton@Button>: | ||
size_hint_y: None | ||
height: dp(60) | ||
BoxLayout: | ||
orientation: 'vertical' | ||
BoxLayout: | ||
size_hint_y: None | ||
height: dp(50) | ||
orientation: 'horizontal' | ||
Button: | ||
text: 'None' | ||
on_press: Window.softinput_mode = '' | ||
Button: | ||
text: 'pan' | ||
on_press: Window.softinput_mode = 'pan' | ||
Button: | ||
text: 'below_target' | ||
on_press: Window.softinput_mode = 'below_target' | ||
Button: | ||
text: 'resize' | ||
on_press: Window.softinput_mode = 'resize' | ||
Widget: | ||
Scatter: | ||
id: scatter | ||
size_hint: None, None | ||
size: dp(300), dp(80) | ||
on_parent: self.pos = (300, 100) | ||
BoxLayout: | ||
size: scatter.size | ||
orientation: 'horizontal' | ||
canvas: | ||
Color: | ||
rgba: 1, 0, 0, 1 | ||
Rectangle: | ||
pos: 0, 0 | ||
size: self.size | ||
Widget: | ||
size_hint_x: None | ||
width: dp(30) | ||
TextInput: | ||
text: 'type in me' | ||
''' | ||
|
||
|
||
class ErrorPopup(Popup): | ||
error_text = StringProperty('') | ||
|
||
def raise_error(error): | ||
print('ERROR:', error) | ||
ErrorPopup(error_text=error).open() | ||
|
||
class TestApp(App): | ||
def build(self): | ||
root = Builder.load_string(kv) | ||
Clock.schedule_interval(self.print_something, 2) | ||
# Clock.schedule_interval(self.test_pyjnius, 5) | ||
print('testing metrics') | ||
from kivy.metrics import Metrics | ||
print('dpi is', Metrics.dpi) | ||
print('density is', Metrics.density) | ||
print('fontscale is', Metrics.fontscale) | ||
return root | ||
|
||
def print_something(self, *args): | ||
print('App print tick', Clock.get_boottime()) | ||
|
||
def on_pause(self): | ||
return True | ||
|
||
def test_pyjnius(self, *args): | ||
try: | ||
from jnius import autoclass | ||
except ImportError: | ||
raise_error('Could not import pyjnius') | ||
return | ||
|
||
print('Attempting to vibrate with pyjnius') | ||
# PythonActivity = autoclass('org.renpy.android.PythonActivity') | ||
# activity = PythonActivity.mActivity | ||
PythonActivity = autoclass('org.kivy.android.PythonActivity') | ||
activity = PythonActivity.mActivity | ||
Intent = autoclass('android.content.Intent') | ||
Context = autoclass('android.content.Context') | ||
vibrator = activity.getSystemService(Context.VIBRATOR_SERVICE) | ||
|
||
vibrator.vibrate(1000) | ||
|
||
def test_ctypes(self, *args): | ||
import ctypes | ||
|
||
def test_numpy(self, *args): | ||
import numpy | ||
|
||
print(numpy.zeros(5)) | ||
print(numpy.arange(5)) | ||
print(numpy.random.random((3, 3))) | ||
|
||
TestApp().run() |