当前位置: 首页 > news >正文

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

        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)   

        

      

        

相关文章:

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

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 …...

基于XML配置Bean和基于XML自动装配

目录 基于XML配置Bean id分配规则 通过id获取bean 通过类型获取bean 通过C命名空间配置bean 使用C命名空间 通过P命名空间配置bean 通过util:list进行配置bean 指定id,直接ref引用过来 通过外部属性文件配置Bean Bean信息重用(继承)…...

全排列 dfs

给定一个由不同的小写字母组成的字符串&#xff0c;输出这个字符串的所有全排列。 我们假设对于小写字母有 a<b<…<y<z &#xff0c;而且给定的字符串中的字母已经按照从小到大的顺序排列。 输入格式 输入只有一行&#xff0c;是一个由不同的小写字母组成的字符串…...

linux内存相关命令的尝试

文章目录 前言freeMem 部分的解释Swap 部分的解释 vmstatProcs (进程)Memory (内存)Swap (交换)IO (磁盘 I/O)System (系统)CPU (处理器) pidstat标题行解释数据列解释 sar字段含义解释示例分析 总结 前言 菜就多练&#xff0c;昨天看了一篇有关剖析 RocksDB 内存超限问题的文…...

Vue2 基础

Vue 2 是 Vue.js 的第二个主要版本&#xff0c;于 2016 年发布。它是一个渐进式的 JavaScript 框架&#xff0c;以其简单、灵活、易用性高而广受欢迎。Vue 2 主要专注于构建用户界面&#xff08;UI&#xff09;&#xff0c;并且非常适合用于构建单页应用&#xff08;SPA&#x…...

递归问题(c++)

递归设计思路 数列递归 : 如果一个数列的项与项之间存在关联性&#xff0c;那么可以使用递归实现 ; 原理 : 如果一个函数可以求A(n)&#xff0c;那么该函数就可以求A(n-1)&#xff0c;就形成了递归调用 ; 注意: 一般起始项是不需要求解的&#xff0c;是已知条件 这就是一个典型…...

系统思考—战略决策

别用管理上的勤奋&#xff0c;来掩盖经营上的懒惰。 日本一家物业公司&#xff0c;因经营不善&#xff0c;面临生死存亡的危机。老板为了扭转局面&#xff0c;采取了很多管理手段——提高员工积极性&#xff0c;推行业绩与绩效挂钩&#xff0c;实施各种考核制度。然而&#xf…...

wxwidgets xml插入图片的两种方案

wxwidgets xml插入图片的两种方案: 1.使用wxWidgets中的wxRichTextCtrl插入图片,将wxRichTextCtrl的buffer导出为xml文件 参考richtextctrl例子 if (wxTheClipboard->IsSupported(wxDF_BITMAP)){wxBitmapDataObject data;wxTheClipboard->GetData(data);wxBitmap bi…...

大模型呼入机器人如何赋能呼叫中心?(转)

大模型呼入机器人如何赋能呼叫中心&#xff1f;(转) 原作者&#xff1a;开源呼叫中心FreeIPCC 大模型呼入机器人在赋能呼叫中心方面发挥着重要作用&#xff0c;主要体现在以下几个方面&#xff1a; 一、提升服务效率与质量 24小时不间断服务&#xff1a; 大模型呼入机器人能…...

linux下socket本地套接字通讯

使用套接字除了可以实现网络间不同主机间的通信外&#xff0c;还可以实现同一主机的不同进程间的通信&#xff0c;且建立的通信是双向的通信。socket进程通信与网络通信使用的是统一套接口&#xff0c;只是地址结构与某些参数不同。 用途 进程间通信&#xff1a;本地套…...

NDRCContextUnmarshall断点函数分析之I_RpcBindingCopy函数的作用

NDRCContextUnmarshall断点函数分析之I_RpcBindingCopy函数的作用 第一部分&#xff1a; void RPC_ENTRY NDRCContextUnmarshall ( // process returned context OUT NDR_CCONTEXT PAPI *phCContext,// stub context to update IN RPC_BINDING_HANDLE hRPC, …...

WebView2教程(基于C++)【一】环境初始化

创建一个VisualStudio C项目&#xff0c;通过NuGet包管理器安装两个包&#xff1a; 注意&#xff0c;在项目属性页设置项目使用&#xff1a;C 20&#xff0c;子系统设置成窗口&#xff08;相应的预处理器也要改变&#xff09;&#xff0c;DPI识别设置成每个监视器高DPI识别。 …...

go语言中context的用法

0 概述 Context 是 Go 语言中非常重要的一个概念&#xff0c;它主要用于跨多个函数或 goroutine 传递 取消信号、超时控制、截止时间 和 请求范围数据。在并发编程中&#xff0c;Context 提供了更好的控制和管理&#xff0c;尤其是当你需要在多个 goroutine 之间传递状态或进行…...

概括网络给社会生活带来的种种影响

题目 【2002年国考申论】给定资料反映了网络给社会生活带来的种种影响&#xff0c;用不超过200字对这些影响进行概括。 要求&#xff1a;全面&#xff0c;有条理&#xff0c;有层次。(20分) 审题 特定事实&#xff1a;网络给社会生活带来的种种影响基本题型&#xff1a;单一…...

OpenCV相机标定与3D重建(16)将点从齐次坐标转换为非齐次坐标函数convertPointsFromHomogeneous()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::convertPointsFromHomogeneous 是 OpenCV 库中的一个函数&#xff0c;用于将点从齐次坐标&#xff08;homogeneous coordinates&#xff09;…...

Jmeter如何对UDP协议进行测试?

Jmeter如何对UDP协议进行测试&#xff1f; 1 jmeter-plugins安装2 UDP-Protocol Support安装3 UDP协议测试 1 jmeter-plugins安装 jmeter-plugins是Jmeter的插件管理器&#xff1b;可以组织和管理Jmeter的所有插件&#xff1b;直接进入到如下页面&#xff0c;选择如图的选项进…...

Unix 传奇 | 谁写了 Linux | Unix birthmark

注&#xff1a;本文为 “左耳听风”陈皓的 unix 相关文章合辑。 皓侠已走远&#xff0c;文章有点“年头”&#xff0c;但值得一阅。 文中部分超链已沉寂。 Unix 传奇 (上篇) 2010 年 04 月 09 日 陈皓 了解过去&#xff0c;我们才能知其然&#xff0c;更知所以然。总结过去…...

【网络】传输层协议UDP/TCP网络层IP数据链路层MACNAT详解

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;计算机网络原理_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.传输层协议 UDP 1.1 传输层 1.2 端口号 1.3 UDP 协议 1.3.1 UDP 协议端格式 1.3.2 UDP 的特点 1.3.3 面向数据报 1…...

RTMP推流平台EasyDSS在无人机推流直播安防监控中的创新应用

无人机与低空经济的关系密切&#xff0c;并且正在快速发展。2024年中国低空经济行业市场规模达到5800亿元&#xff0c;其中低空制造产业占整个低空经济产业的88%。预计未来五年复合增速将达到16.03%。 随着科技的飞速发展&#xff0c;公共安防关乎每一个市民的生命财产安全。在…...

ORACLE逗号分隔的字符串字段,关联表查询

使用场景如下&#xff1a; oracle12 以前的写法&#xff1a; selectt.pro_ids,wm_concat(t1.name) pro_names from info t,product t1 where instr(,||t.pro_ids|| ,,,|| t1.id|| ,) > 0 group by pro_ids oracle12 以后的写法&#xff1a; selectt.pro_ids,listagg(DIS…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...