一、前言

前面的教程,已经完整讲述了用B4A开发安卓APP从新建项目到编译发布的完整流程。从本篇开始,我们将会从B4A的细节处着手,一步一步掌握B4A。

从本篇开始的子系列为“控件篇”系列,本系列将从日常使用的角度出发,着重讲一些控件的常用方式及特殊用法。

本篇是“控件篇”的第一篇,主要讲解“控件”的公有属性。

相信看完的你,一定会有所收获!

本地地址:https://www.cnblogs.com/lesliexin/p/17157106.html


二、公有属性

在可视化设计器中的属性窗口,选中控件后可以看到该控件的所有属性。

因为控件都是类似的,所以会有一些公有的属性,像上图中的“Main”和“通用属性”分组中,绝大多数属性都是每个控件都拥有的。

下面,我们对一些常用的属性进行讲解。

1,名称

此属性是用来区分控件的“名字”,具有唯一性,是不可相同的。

关于控件的命名规则有很多种,如按钮名称一般以“btn”开头,标签名称一般以“lbl”开头等等。

这种命名规则是为了有更好的可读性,并不是强制的。

2,事件名称

事件名称,即生成控件事件时,事件的前缀名称,见下图的“Button1”:

在修改上面的“名称”属性时,会发现事件名称跟随改变。一般而言,每个控件都有各自的对应事件,所以控件的名称与事件名称都不相同。

不过,在动态生成控件(如:通过配置文件来批量生成指定控件)时,因为动态生成的同类型控件大多具有类似的功能,所以会将这些同类型控件的事件名称设置为一样的,也就是所有同类型的控件都指向这一个事件。而在事件的实现中,可以通过控件的Tag属性区分具体是哪个控件触发的。这样可以节省大量的代码,实现起来也非常直观。此非本文重点,不再进行展开,后续文章会有专门讲解。

3,Parent

Parent属性,也就是控件的“父控件”、“父容器”。在程序的布局中,经常会使用各种容器类控件对其它控件进行分组,以方便控制。(注:B4A的IDE自带中文语言,但是翻译却是中英夹杂,为了方便对照,本文不再进行二次翻译,直接取IDE上显示的名称。读者请注意区分。)

控件分属不同的“父容器”后,也就形成一个“控件树”,在可视化设计器的“控件树”窗口,可以直观的看到各个控件的所属层级。

我们即可以手动设置控件的“Parent”属性,也可以在“控件树”上拖动控件,直观快捷的进行调整。

4,水平锚定、垂直锚定

所有的控件都可以视为一个“矩形”,而“锚定”,即是锚定这个矩形的“边”,当这个“边”被锚定后,其“边”相对于“父容器”的位置就不会再发生改变。

水平锚定和垂直锚定都有三个选项,对于水平锚定而言,这三个选项的含义分别是“固定左边位置”、“固定右边位置”、“左右两端固定”。同理,对于垂直锚定而言,其含义分别是“固定上边位置”、“固定下边位置”、“上现两端固定”。

在选择不同的锚定项后,布局设计器里被锚定的边将会高亮显示一个圆点。

面设置不同的选项下,下面的四个属性的含义也会发生变化,具体本文不过多赘述,可通过下面的动图演示直观的感受。

5,Enabled、Visible

对于控件而言,此两个属性是非常常用的,一个是控件是否可用,一个是控件是否显示。

很好理解,不再过多叙述。


三、总结

控件,是APP的核心,APP所展现的一切,都是由诸多控件构成的。

本篇作为“控件篇”系列的开篇,讲解了一下主要的公有属性,因为公有属性是通用的,所以系列后续文章就可以节省大量笔墨。

“控件篇”系列的下一篇,将会讲一下最常用的控件:Button,也就是按钮控件。

敬请期待。


-【END】-

(原创)【B4A】一步一步入门05:控件、公有属性、水平锚定、垂直锚定(控件篇01)的更多相关文章

  1. (原创)【B4A】一步一步入门02:可视化界面设计器、控件的使用

    一.前言 上篇 (原创)[B4A]一步一步入门01:简介.开发环境搭建.HelloWorld 中我们创建了默认的项目,现在我们来看一下B4A项目的构成,以及如何所见即所得的设计界面,并添加和使用自带的 ...

  2. Membership三步曲之入门篇 - Membership基础示例

    Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 -  Membership基础示例 Membership三步曲之进阶篇 -  深入剖析Pro ...

  3. [转]Membership三步曲之入门篇 - Membership基础示例

    本文转自:http://www.cnblogs.com/jesse2013/p/membership.html Membership三步曲之入门篇 - Membership基础示例   Members ...

  4. [EntLib]微软企业库5.0 学习之路——第一步、基本入门

    话说在大学的时候帮老师做项目的时候就已经接触过企业库了但是当初一直没明白为什么要用这个,只觉得好麻烦啊,竟然有那么多的乱七八糟的配置(原来我不知道有配置工具可以进行配置,请原谅我的小白). 直到去年在 ...

  5. (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂

    (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂 1. 在官网https://struts.apache.org下载Struts2,建议下载2.3系列版本.从图中可以看出 ...

  6. ASP.NET 安全系列 Membership三步曲之入门篇 - Jesse Liu

    Membership 三步曲 ASP.NET 安全系列 Membership三步曲之入门篇 ASP.NET 安全系列 Membership三步曲之进阶篇 ASP.NET 安全系列 Membership ...

  7. 【Linux】一步一步学Linux——虚拟机安装和卸载(05)

    目录 00. 目录 01. Workstation Pro 15.0安装简介 02. Windows 主机上安装 Workstation Pro 15.0 03. Linux 主机上安装 Workst ...

  8. 一步一步理解 python web 框架,才不会从入门到放弃 -- 开始使用 Django

    背景知识 要使用 Django,首先必须先安装 Django. 下图是 Django 官网的版本支持,我们可以看到上面有一个 LTS 存在.什么是 LTS 呢?LTS ,long-term suppo ...

  9. [C#] (原创)一步一步教你自定义控件——01,TrackBar

    一.前言 技术没有先进落后之分,只有合不合适. WinForm有着非常多的优点,在使用WinForm久了之后,难免会觉得WinForm自带的某些控件外观上有些许朴素.或者功能上有些不如意,自然而然便想 ...

  10. [C#] (原创)一步一步教你自定义控件——04,ProgressBar(进度条)

    一.前言 技术没有先进与落后,只有合适与不合适. 本篇的自定义控件是:进度条(ProgressBar). 进度条的实现方式多种多样,主流的方式有:使用多张图片去实现.使用1个或2个Panel放到Use ...

随机推荐

  1. 【实时数仓】Day04-DWS层业务:DWS设计、访客宽表、商品主题宽表、流合并、地区主题表、FlinkSQL、关键词主题表、分词

    一.DWS层与DWM设计 1.思路 之前已经进行分流 但只需要一些指标进行实时计算,将这些指标以主题宽表的形式输出 2.需求 访客.商品.地区.关键词四层的需求(可视化大屏展示.多维分析) 3.DWS ...

  2. 【Phoenix】简介、架构、存储、入门、常用表操作、表的映射方式、配置二级索引

    一.Phoenix简介 1.定义 构建在 HBase 之上的开源 SQL 层 可以使用标准的 JDBC API 去建表, 插入数据和查询 HBase 中的数据 避免使用 HBase 的客户端 API ...

  3. 【离线数仓CDH版本】即席查询工具(Presto、Druid、Kylin)、CDH数仓、Impala查询

    1.即席查询 一.Presto 大数据量.秒级.多数据源的查询引擎[支持各种数据源work的内存级查询] 由coordinator和多个work构成,work对应不同数据源Catalog 特点:基于内 ...

  4. go-carbon 1.5.1 版本发布, 修复已知 bug 和新增土耳其翻译文件

    carbon 是一个轻量级.语义化.对开发者友好的golang时间处理库,支持链式调用. 目前已被 awesome-go 收录,如果您觉得不错,请给个star吧 github.com/golang-m ...

  5. Python报SyntaxError: Missing parentheses in call to ‘print’. Did you mean print()

    SyntaxError: Missing parentheses in call to 'print'. Did you mean print()原因:python2.X版本与python3.X版本输 ...

  6. JavaScript:操作符:算术运算符(加减乘除模幂)及其隐式转换数据类型

    加法+ 减法- 乘法* 除法/ 模运算% 幂运算**,即a ** b求的是a的b次方 执行上述运算时,当两个操作数有非数字时,JS会隐式转换为数字,再进行运算: 一些特殊的非数字,会进行如下转换: t ...

  7. JavaScript:七大基础数据类型:大整数bigint

    因为数值number有表示范围,所以当我们需要精确表示更大的数字时,我们需要用到大整数bigint: 事实上,大整数可以精确表示任意长度的整数: 我们可以通过在整数的末尾添加字母n,来声明它是一个大整 ...

  8. 封装一个python的pymysql操作类

    最近使用pymysql写脚本的情况越来越多了,刚好整理,简单封装一个pymysql的操作类 import pymysql class MysqlDB: def __init__( self, host ...

  9. [seaborn] seaborn学习笔记6-热图HEATMAPPLOT

    6 热图Heatmapplot(代码下载) 热图是指通过将矩阵单个的值表示为颜色的图形表示.热力图显示数值数据的一般视图非常有用,制作热图很简单,且不需要提取特定数据点.在seaborn中使用heat ...

  10. [机器学习] Yellowbrick使用笔记5-回归可视化

    回归模型试图预测连续空间中的目标.回归计分可视化工具显示模型空间中的实例,以便更好地理解模型是如何进行预测的.代码下载 Yellowbrick已经实施了三种回归评估: 残差图Residuals Plo ...