(原创)【B4A】一步一步入门05:控件、公有属性、水平锚定、垂直锚定(控件篇01)
一、前言
前面的教程,已经完整讲述了用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)的更多相关文章
- (原创)【B4A】一步一步入门02:可视化界面设计器、控件的使用
一.前言 上篇 (原创)[B4A]一步一步入门01:简介.开发环境搭建.HelloWorld 中我们创建了默认的项目,现在我们来看一下B4A项目的构成,以及如何所见即所得的设计界面,并添加和使用自带的 ...
- Membership三步曲之入门篇 - Membership基础示例
Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 - Membership基础示例 Membership三步曲之进阶篇 - 深入剖析Pro ...
- [转]Membership三步曲之入门篇 - Membership基础示例
本文转自:http://www.cnblogs.com/jesse2013/p/membership.html Membership三步曲之入门篇 - Membership基础示例 Members ...
- [EntLib]微软企业库5.0 学习之路——第一步、基本入门
话说在大学的时候帮老师做项目的时候就已经接触过企业库了但是当初一直没明白为什么要用这个,只觉得好麻烦啊,竟然有那么多的乱七八糟的配置(原来我不知道有配置工具可以进行配置,请原谅我的小白). 直到去年在 ...
- (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂
(原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂 1. 在官网https://struts.apache.org下载Struts2,建议下载2.3系列版本.从图中可以看出 ...
- ASP.NET 安全系列 Membership三步曲之入门篇 - Jesse Liu
Membership 三步曲 ASP.NET 安全系列 Membership三步曲之入门篇 ASP.NET 安全系列 Membership三步曲之进阶篇 ASP.NET 安全系列 Membership ...
- 【Linux】一步一步学Linux——虚拟机安装和卸载(05)
目录 00. 目录 01. Workstation Pro 15.0安装简介 02. Windows 主机上安装 Workstation Pro 15.0 03. Linux 主机上安装 Workst ...
- 一步一步理解 python web 框架,才不会从入门到放弃 -- 开始使用 Django
背景知识 要使用 Django,首先必须先安装 Django. 下图是 Django 官网的版本支持,我们可以看到上面有一个 LTS 存在.什么是 LTS 呢?LTS ,long-term suppo ...
- [C#] (原创)一步一步教你自定义控件——01,TrackBar
一.前言 技术没有先进落后之分,只有合不合适. WinForm有着非常多的优点,在使用WinForm久了之后,难免会觉得WinForm自带的某些控件外观上有些许朴素.或者功能上有些不如意,自然而然便想 ...
- [C#] (原创)一步一步教你自定义控件——04,ProgressBar(进度条)
一.前言 技术没有先进与落后,只有合适与不合适. 本篇的自定义控件是:进度条(ProgressBar). 进度条的实现方式多种多样,主流的方式有:使用多张图片去实现.使用1个或2个Panel放到Use ...
随机推荐
- 【Java SE】Day10接口、多态
一.接口 1.概述 是一种引用类型,是方法的集合,内部封装了各种方法 引用类型:数组.类.接口.包装类 2.方法的定义格式 抽象方法:无方法体,子类实现 默认方法: 静态方法:static修饰,可以由 ...
- 【离线数仓】Day04-即席查询(Ad Hoc):Presto链接不同数据源查询、Druid建多维表、Kylin使用cube快速查询
一.Presto 1.简介 概念:大数据量.秒级.分布式SQL查询engine[解析SQL但不是数据库] 架构 不同worker对应不同的数据源(各数据源有对应的connector连接适配器) 优缺点 ...
- kubernetes CKA题库(附答案)
第一题 RBAC授权问题权重: 4% 设置配置环境:[student@node-1] $ kubectl config use-context k8s Context为部署管道创建一个新的Cluste ...
- Django 连接各数据库配置汇总(sqlite3,MySql,Oracle)
在django中,默认配置的数据库是 sqlite3 # Database # https://docs.djangoproject.com/en/2.0/ref/settings/#database ...
- 使用JsonConverter处理上传文件的路径
场景 我们上传一个文件,把文件保存到服务器上,会有一个明确的物理路径,由于需要从前端访问这个文件,还需要web服务器中的一个虚拟路径.这个虚拟路径的存储会有一个问题,我们应该在数据库里存什么?是带域名 ...
- Redis基础学习笔记
技术分类: 1.解决功能性的问题:Java.Jsp.RDBMS.Tomcat.HTML.Linux.JDBC.SVN 2.解决扩展性的问题:Struts.Spring.SpringMVC.Hibern ...
- [R语言] ggplot2入门笔记4—前50个ggplot2可视化效果
文章目录 通用教程简介(Introduction To ggplot2) 4 ggplot2入门笔记4-前50个ggplot2可视化效果 1 相关性(Correlation) 1.1 散点图(Scat ...
- node设置下载源
// 设置镜像源 npm config set registry https://registry.npm.taobao.org // 查看当前源 npm config get registry
- 诗词API
1.js依赖 /** * 今日诗词V2 JS-SDK 1.2.2 * 今日诗词API 是一个可以免费调用的诗词接口:https://www.jinrishici.com */ !function(e) ...
- 第k个数【模板题】
第k个数 给定一个长度为 \(n\) 的整数数列,以及一个整数 \(k\),请用快速选择算法求出数列从小到大排序后的第 \(k\) 个数. 输入格式 第一行包含两个整数 \(n\) 和 \(k\). ...