一、前言

前面的教程,已经完整讲述了用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. 【Java SE】Day11 final、权限、内部类、引用类型

    一.final关键字 1.概述 避免子类改写父类内容,使用final关键字,修饰不可变内容 可以修饰类(不可被继承).方法.变量(不能被重新赋值 ) 2.使用 (基本类型)被修饰的变量只能被赋值一次 ...

  2. 【每日一题】【遍历orSet】2022年2月1日-NC66 两个链表的第一个公共结点

    描述输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空.(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 输入描述:输入分为是3段,第 ...

  3. 对于async和await的使用方式、作用效果不怎么理解 ?没关系,初步看这篇就够了

    结论 同步还是异步,区别如下: 同步:你使用 await 修饰符去调用一个异步(async)方法(是异步方法,不过是阻塞式的,可简单理解为同步): 异步:你获取异步方法返回的 Task,就是异步(后文 ...

  4. 七个步骤覆盖 API 接口测试

    接口测试作为最常用的集成测试方法的一部分,通过直接调用被测试的接口来确定系统在功能性.可靠性.安全性和性能方面是否能达到预期,有些情况是功能测试无法覆盖的,所以接口测试是非常必要的.首先需要对接口测试 ...

  5. 【世界杯黑技术专题】「原理探索专题」一文解读一下“卡塔尔世界杯”的先进技术之半自动越位技术SAOT+比赛用球Al Rihla

    盘点卡塔尔世界杯的先进黑科技 归纳总结一下目前世界杯的先进的黑科技有哪些?大致可以划分为以下几点. 半自动化越位技术 比赛用球Al Rihla 球场智能空调 可持续利用的体育场 便利的数字设施和App ...

  6. 🈲Eclipse通过jdbc连接数据库制作简单登陆界面【新手必看】

    一.前言: 做网站开发,要求有多种搭配方式,前台技术可以使用PHP.ASP.JSP.ASP.NET.CGI等任何一种: 需要用到的基础语言用的最多的就是HTML/CSS.JS.JAVA.XML这些了, ...

  7. Ubuntu 安装 office

    推荐安装 LibreOffice wget https://free.nchc.org.tw/tdf/libreoffice/stable/7.4.3/deb/x86_64/LibreOffice_7 ...

  8. LeetCode-343. 整数拆分 - 题解分析

    题目来源 343. 整数拆分 题目详情 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化. 返回 你可以获得的最大乘积 . 示例 1: 输入: ...

  9. angularIonic CLI环境搭建安装以及栅格响应式布局

  10. Git + Jenkins 自动化 NGINX 发布简易实现

    概述 之前基于 GitLab + Jenkins 实现了简单的 NGINX 的自动化发布. 具体包含如下的组件: GitLab 包括 GItLab 的 WebHook: Jenkins 及其插件: G ...