#需要BaseWindow.py
from BaseWindow import *
RB="""
android:id="@+id/Radio%s"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="8dp"
android:text="%s"
android:background="#%s"
/>
"""
XML="""<?xml version="1.0" encoding="utf-8"?>
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#3f7faf"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_weight="20">
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_weight="20">
android:id="@+id/Title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="9dp"
android:text="%s"
android:textColor="#ffffff"
android:textStyle="bold"
android:layout_weight="1"
android:gravity="center"
/>
android:id="@+id/RadioGroup"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
""","""
android:layout_width="fill_parent"
android:layout_height="60dp"
android:text="%s"
android:id="@+id/but_canc"
android:textSize="8dp"
android:background="#007f00"
android:textColor="#ffffff"
android:layout_weight="1"
android:gravity="center"/>
"""class MainScreen(Layout):
def on_show(self):
v=self.views
for i in range(self.Count):
c=v['Radio%s'%i]
c.add_event(click_EventHandler(c,self.conf))
v.but_canc.add_event(click_EventHandler(v.but_canc,self.canc))
def on_close(self):
pass
def conf(self,view,dummy):
MainScreen.Text=int(dummy['data']['id'][5:])
FullScreenWrapper2App.close_layout()
def canc(self,view,dummy):
MainScreen.Text=None
FullScreenWrapper2App.close_layout()
def RadioCmd(Title='',Radio=(),Cancel='取消'):#主函数
#命令按钮组(标题,命令按钮文本组(命令按钮0,命令按钮1,……),取消按钮文本)
#点击“命令按钮n”返回整数n,点击“取消”返回None
r=[XML[0]%Str2Xml(Title)];i=-1
for i in range(len(Radio)):
r.append(RB%(i,Str2Xml(Radio[i]),cmColor[i%2]))
MainScreen.Count=i+1
r.append(XML[1]%Cancel)
r=''.join(r)
FullScreenWrapper2App.show_layout(MainScreen(r,'Cmd'))
FullScreenWrapper2App.eventloop()
r=MainScreen.Text
del MainScreen.Text
return r
__all__=('RadioCmd','droid')
==========说明===========
RadioCmd('标题',('项目0','项目1','项目2'))
点击“项目n”返回整数n,点击“取消”返回None