1、AddNode、AddView方法
AddNode (Node As javafx.scence.Node,Left As Double,Top As Double,Width As Double,Height As Double) ' B4J控件
AddView (View As javafx.scence.Node,Left As Double,Top As Double,Width As Double,Height As Double) ' B4J的B4XView
AddView (View As android.scence.View,Left As Int,Top As Int,Width As Int,Height As Int) ' B4A控件
向控件内添加视图控件,用于容器类控件。
BAJ:Pane
B4A:Activity、Panel
示例:
Pane1.AddNode(Button1,10,10,100,30)
Pane1.As(B4XView).AddView(Button1,10,10,100,30)
Panel1.AddView(Button1,10dip,10dip,100dip,30dip)
2、As方法
As(Type As Object)
将对象转换为另一个类型的对象,控件的As方法可以使控件能够使用自己没有的另一个类型控件的属性或方法。
示例:
将Button1顺时针旋转10度
Button1.As(B4XView).Rotation=10
3、BringToFront和SendToBack方法
这两个方法都是更改控件视图的Z顺序方法。
BringToFront是将控件放到最前面,也就是放到最顶层以免被其它层遮挡。
SendToBack正好相反,是将控件向后放,以让其它控件在前面。
我们可以利用这两个方法向同一个容器内同一个位置添加多个相同大小的视图,需要时调到前面,不需要时放到后面隐藏。
示例:
Pane2.As(B4XView).BringToFront ' B4J控件
Pane2.As(B4XView).SendToBack ' B4J控件
Panel2.BringToFront ' B4A控件
Panel2..SendToBack ' B4A控件
4、GetNode、GetView方法
GetNode(Index As Int) As Node ' B4J控件
GetView(Index As Int) As B4XView ' B4J、B4A的B4XView
GetView(Index As Int) As View ' B4A控件
根据控件内的视图索引返回一个视图,B4J:返回Node,B4A:返回View,B4XView:返回 B4XView。
该方法主要用于容器类控件。BAJ:Pane;B4A:Activity、Panel。
示例:
Pane1.GetNode(0).As(B4XView).Color=xui.Color_Blue ' B4J控件
Pane1.As(B4XView).GetView(0).Color=xui.Color_Blue ' B4J控件
Panel1.GetView(0).Color=Colors.Blue ' B4A控件
5、GetAllViewsRecursive方法
GetAllViewsRecursive As IterableList
获取并返回控件内的所有子控件的列表,包括子控件内的子控件。terableList是可迭代列表。
B4J:返回Nodes列表
B4A:返回Views列表
B4XView:返回B4XViews列表
该方法常用于容器类控件。BAJ:Pane,B4A:Activity、Panel。
示例:
For Each v As Node In Pane1.GetAllViewsRecursive ' B4J
If v is Label Then
v.Alpha=0.8
End If
Next
For Each v As B4XView In Pane1.GetAllViewsRecursive ' B4J
......
Next
For Each v As View In Panel1.GetAllViewsRecursive ' B4A
......
Next
6、GetBitmap、GetImage方法
GetBitmap As B4XBitmap ' B4A
GetImage As Image ' B4J的ImageView控件
返回控件的图像,在B4J中用于ImageView控件,在B4A中用于设置了背景图像的控件。
示例:
Dim Image1 as Image=Label1.As(B4XView).GetBitmap
Dim Image1 as Image=ImageView1.GetImage
7、 Initialize方法
Initialize(EventName As String)
用于用代码声明的对象的初始化,在设计器中添加的控件不需要初始化。
EventName是为控件添加事件时要使用的控件名称如:Sub btn1_Click。
示例:
Dim btn1 As Button
btn1.Initialize("btn1")
8、LoadLayout 方法
LoadLayout(LayoutFile As String)
加载布局文件。在B4J用于Pane类型控件、在B4A用于Panel类型控件,布局文件必须放在项目的Files文件夹。
示例:
TabPane1.LoadLayout("MainPage","第一页")
9、RequestFocus 方法
将焦点移到该控件上,如:Button1.RequestFocus。
10、从容器移除控件方法
RemoveNodeFromParent ' B4J控件
RemoveViewFromParent ' B4J、B4A的B4XView
RemoveView ' B4A控件
将控件从其所在容器中移除,其中:RemoveNodeFromParent仅用于B4J。
示例:
Button1.RemoveNodeFromParent
Button1.RemoveViewFromParent
Button1.RemoveView
11、SetAlphaAnimated方法
SetAlphaAnimated(Duration As Int,Alpha As Double) ' B4J
SetAlphaAnimated(Duration As Int,Alpha As Float) ' B4A
为控件设置不透明度动画,在给定时间内从当前不透明度变为指定的不透明度。
Duration:以毫秒为单位的动画时间。
Alpha:不透明度,取值范围0-1。0为完全透明,1为完全不透明。
示例:
按下Button1时不透明度变为0.2,释放时复原
Private Sub Button1_MousePressed (EventData As MouseEvent)
Button1.SetAlphaAnimated(200,0.2)
End Sub
Private Sub Button1_MouseReleased (EventData As MouseEvent)
Button1.SetAlphaAnimated(200,1)
End Sub
12、SetLayoutAnimated方法
SetLayoutAnimated(Duration As Int,Left As Double,Top As Double,PrefWidth As Double,PrefHeight As Double) ' B4J
SetLayoutAnimated(Duration As Int,Left As Int,Top As Int,Width As Int,Height As Int) ' B4A
为控件设置布局动画,在给定时间内,从当前位置、大小变为指定位置、大小。
示例:
Button1.SetLayoutAnimated(200,0,50,150,40)
Button1.SetLayoutAnimated(200,0,50dip,150dip,40dip)
13、SetLayout方法
SetLayout(Left As Int,Top As Int,Width As Int,Height As Int) ' B4A
调整控件大小和布局,仅用于B4A控件。
示例:
Button1.SetLayout(10dip,50dip,150dip,40dip)
14、SetColorAndBorder方法
SetColorAndBorder(BackgroundColor As Int,BorderWidth As Dopuble,BorderColor As Int,BorderComerRadius As Int)
设置控件背景色、边框颜色、边框粗细、边框圆角半径。4A的Int数据要加dip。
示例:
Label1.As(B4XView).SetColorAndBorder(xui.Color_Cyan,1,xui.Color_Blue,5)
15、SetRotationAnimated方法
SetRotationAnimated(Duration As Int,Degree As Double)
为控件设置旋转动画,在给定时间内,以控件中心为圆心,从当前角度旋转到给定角度。
Duration:以毫秒为单位的动画时间。
Degree:旋转角度,正值顺时针旋转,负值逆时针旋转。
示例:
Button1.As(B4XView).SetRotationAnimated(1000,-20)
16、SetSelection方法
SetSelection(Start As Int,Length As Int)
选中控件中指定位置和长度的文本。
B4J:用于TextField、TextArea
B4A:用于EditText
示例:
TextField1.SetSelection(1,5)
EditText1.SetSelection(1,5)
17、SetTextAlignment方法
SetTextAlignment(Vertical As String,Horizontal As String)
设置控件文本的对齐方式。对齐方式选项:
Vertical:TOP、CENTER、BOTTOM
Horizontal:LEFT、CENTER、RIGHT
示例:
Label1.As(B4XView).SetTextAlignment("CENTER","LEFT")
18、SetColorAnimated方法
SetColorAnimated(Duration As Int,FromColor As Int,ToColor As Int)
设置控件背景颜色动画,在给定时间内背景颜色从FromColor渐变到ToColor。
示例:
Button1.As(B4XView).SetColorAnimated(200,xui.Color_Black,xui.Color_LightGray) ' B4J控件
Label1.SetColorAnimated(200,xui.Color_Black,xui.Color_LightGray) ' B4A控件
19、SetTextColorAnimated方法
SetTextColorAnimated(Duration As Int,ToColor As Int) ' 仅B4A控件
设置控件文本颜色动画,在给定时间内,控件文本从当前颜色渐变为给定颜色ToColor,仅用于B4A。
示例:
Label1.SetTextColorAnimated(200,xui.Color_Cyan)
20、SetTextSizeAnimated方法
SetTextSizeAnimated(Duration As Int,TextSize As Double) ' B4J控件
SetTextSizeAnimated(Duration As Int,TextSize As Float) ' B4A控件
设置控件文本大小动画,在给定时间内,文本字体从当前大小变为指定大小。
示例:
Label1.As(B4XView).SetTextSizeAnimated(200,20) ' B4J
Label1.SetTextSizeAnimated(200,20) ' B4A
21、SetVisibleAnimated方法
SetVisibleAnimated(Duration As Int,Visible As Boolean)
设置控件可见性动画,在给定时间内,控件从可见渐变为不可见,或从不可见渐变为可见。
Duration:以毫秒为单位的动画时间。
True:由不可见渐变为可见。
False:由可见渐变为不可见。
示例:
Label1.As(B4XView).SetVisibleAnimated(300,True) ' B4J
Label1.SetVisibleAnimated(300,True) ' B4A
22、 SetSize方法
SetSize(Width As Double,Height As Double) ' 仅B4J
设置控件大小,设计器定义的控件在B4XPage_Created或AppStart例程中不起作用。
示例:
Button1.SetSize(150,50)
23、SelectAll方法
SelectAll用于选中控件中的所有文本
B4J:用于TextField、TextArea
B4A:用于EditText
24、 Snapshot方法
Snapshot As B4XBitmap
捕获控件的外观并返回所渲染的图像。
示例:
Dim Image1 As Image=Label1.Snapshot ' B4J控件
Dim Image1 As Image=Label1.As(B4XView).Snapshot ' B4A控件
ImageView1.SetImage(Image1)
25、Snapshot2方法
Snapshot2(BackgroundColor As javafx.scence.paint.Paint) As Image ' 仅B4J控件
类似Snapshot,但可以设置图像的背景颜色。只对透明背景色的控件有效。
示例:
Dim Image1 As Image=Label1.Snapshot2(fx.Colors.Cyan)
ImageView1.SetImage(Image1)