当前位置: 首页 > 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…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...