Android QPython3 可視化-命令菜單:RadioCmd.py
#需要BaseWindow.py??https://www.bilibili.com/read/cv8680125
from BaseWindow import *
RB="""
<RadioButton
? ? 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"?>
<LinearLayout
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">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_weight="20">
<ScrollView? ?
? ? ? ? android:layout_width="fill_parent"? ?
? ? ? ? android:layout_height="fill_parent" >?
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_weight="20">
? ? <TextView
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"
/>
? ? <RadioGroup
? ? ? ? android:id="@+id/RadioGroup"
? ? ? ? android:layout_width="fill_parent"
? ? ? ? android:layout_height="fill_parent"
? ? ? ? android:orientation="vertical">
""","""
? ? </RadioGroup>
</LinearLayout>
</ScrollView>
? ? </LinearLayout>
<Button
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"/>
</LinearLayout>"""
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))
? ? ? ? i=v.but_canc
????????c=i.add_event
????????c(click_EventHandler(i,self.canc))
????????c(key_EventHandler('4',i,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()
cmColor=('3f3f7f','7f007f')
def RadioCmd(Title='',Radio=(),Cancel='取消'):#主函數(shù)
#命令按鈕組(標(biāo)題,命令按鈕文本組(命令按鈕0,命令按鈕1,……),取消按鈕文本)
#點(diǎn)擊“命令按鈕n”返回整數(shù)n,點(diǎ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')
==========說(shuō)明===========

點(diǎn)擊“項(xiàng)目n”返回整數(shù)n,點(diǎn)擊“取消”返回None
作者:乘著船@Bilibili
更多文章+下載鏈接:https://www.bilibili.com/read/readlist/rl321663