注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

你想快速掌握安卓编程吗

 
 
 

日志

 
 

类模块][滑动开关控件]Switch view (二)  

2014-04-13 13:21:52|  分类: B.官网类库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
[原创]B4A编译库文件 - 沉默蜂QQ793136625 - 沉默蜂
创建一个模块文件

下面是名为Switch的模块文件

'Class module
#Event: CheckedChange (Checked As Boolean)
#RaisesSynchronousEvents: setChecked
#RaisesSynchronousEvents: Checked
Sub Class_Globals
Private EventName As String
Private CallBack As Object
Public Switch As View
Private joSwitch As JavaObject
End Sub

'初始化滑动控件
Public Sub Initialize (vCallback As Object, vEventName As String)
EventName = vEventName
CallBack = vCallback
'createSwitch 是一个创建滑动控件的方法
Switch = createSwitch
joSwitch = Switch

End Sub

'createSwitch 是一个创建滑动控件的方法
Private Sub createSwitch As View
Dim so, cbo, ctxt As JavaObject
ctxt = Me
ctxt = ctxt.RunMethodJO("getBA", Null)
so.InitializeNewInstance("android.widget.Switch", Array As Object(ctxt.GetField("activity")))
cbo.InitializeNewInstance("anywheresoftware.b4a.objects.CompoundButtonWrapper", Null)
cbo.RunMethod("setObject", Array As Object(so))
cbo.RunMethod("innerInitialize", Array As Object(ctxt, "switch", True))
Return so
End Sub

Public Sub DesignerCreateView(base As Panel, lbl As Label, props As Map)
Dim jo As JavaObject = base
Dim parent As Panel = jo.RunMethod("getParent", Null)
parent.AddView(Switch, base.Left, base.Top, base.Width, base.Height)
base.RemoveView
Switch.Tag = base.Tag
End Sub

'滑动开关状态改变时触发此事件
Sub switch_CheckedChange(Checked As Boolean)
CallSub2(CallBack, EventName & "_CheckedChange", Checked)
End Sub

'GetChecked 获取当前滑动开关状态
Public Sub GetChecked As Boolean
Return joSwitch.RunMethod("isChecked", Null)
End Sub

'强制设置滑动开关状态
Public Sub SetChecked(b As Boolean)
joSwitch.RunMethod("setChecked", Array As Object(b))
End Sub

'获取开启状态下按钮文本
Public Sub GetTextOn As String
Return joSwitch.RunMethod("getTextOn", Null)
End Sub

'设置开启状态下按钮文本
Public Sub SetTextOn(s As String)
joSwitch.RunMethod("setTextOn", Array As Object(s))
End Sub

'获取关闭状态下按钮文本
Public Sub getTextOff As String
Return joSwitch.RunMethod("getTextOff", Null)
End Sub

'设置关闭状态下按钮文本
Public Sub setTextOff(s As String)
joSwitch.RunMethod("setTextOff", Array As Object(s))
End Sub



  评论这张
 
阅读(204)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017