B4X编程语言:B4X控件方法汇总

ops/2024/12/12 10:23:27/

        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)   

        

      

        


http://www.ppmy.cn/ops/141219.html

相关文章

图的遍历之DFS邻接矩阵法

本题要求实现一个函数,对给定的用邻接矩阵存储的无向无权图,以及一个顶点的编号v,打印以v为起点的一个深度优先搜索序列。 当搜索路径不唯一时,总是选取编号较小的邻接点。 本题保证输入的数据(顶点数量、起点的编号等…

网络安全在数字时代保护库存数据中的作用

如今,通过软件管理库存已成为一种标准做法。企业使用数字工具来跟踪库存水平、管理供应链和规划财务。 然而,技术的便利性也带来了网络威胁的风险。黑客将库存数据视为有价值的目标。保护这些数据不仅重要,而且必不可少。 了解网络安全及其…

21 设计模式之中介者模式

一、什么是中介者模式 中介者模式属于行为型设计模式,它的核心思想是:将对象之间的交互交给一个中介者对象来处理,而不是让对象之间直接通信。这样做的好处是减少了类与类之间的耦合,使得系统更加松散,便于维护和扩展。…

在Liunx中安装JDK、Tomcat、mysql、Nginx

一.软件安装方式 在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下: 二.安装JDK 上述我们介绍了Linux系统软件安装的四种形式,接下来我们就通过第一种(二进制发 布包)形式来安装JDK。 在/下创建soft目录&…

从 HTTP 到 HTTPS 再到 HSTS

近些年,随着域名劫持、信息泄漏等网络安全事件的频繁发生,网站安全也变得越来越重要,也促成了网络传输协议从 HTTP 到 HTTPS 再到 HSTS 的转变。 HTTP HTTP(超文本传输协议) 是一种用于分布式、协作式和超媒体信息系…

【UE5】制作插件 并调试【vs2022】

视频教程:好看视频-轻松有收获 https://www.youtube.com/watch?vIjpa9mI2b5I 官方:https://dev.epicgames.com/documentation/zh-cn/unreal-engine/plugins-in-unreal-engine 原文:【UE】制作插件_ue插件-CSDN博客 C制作插件 1. 我们可…

Dubbo应用篇

文章目录 一、Dubbo简介二、SSM项目整合Dubbo1.生产者方配置2.消费者方配置 三、Spring Boot 项目整合Dubbo1.生产者方配置2.消费者方配置 四、应用案例五、Dubbo配置的优先级别1. 方法级配置(Highest Priority)2. 接口级配置3. 消费者/提供者级配置4. 全…

‌System Prompt VS User Prompt

System Prompt(系统提示词)与User Prompt(用户提示词)在定义、作用和特点上存在显著区别。‌ 定义 ‌System Prompt‌:系统提示词是指向AI提供的一组初始指令或背景信息,用于指导AI的行为方式和响应模式。…