(原创)【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 ...
随机推荐
- 【SQL进阶】【CASE/IF、COUNT/SUM、多条记录拼接为一个内容】Day03:聚合分组查询
〇.今日内容概述 一.聚合函数 1.SQL类别高难度试卷得分的截断平均值[去最高最低分求平均] 自己的想法 SELECT tag, difficulty, ROUND((SUM(score)-MIN( ...
- Azure DevOps 中自定义控件的开发
Azure DevOps 插件: Field Unique Control https://github.com/smallidea/azure-devops-extension-custom-con ...
- SpringBoot源码2——SpringBoot x Mybatis 原理解析(如何整合,事务如何交由spring管理,mybatis如何进行数据库操作)
阅读本文需要spring源码知识,和springboot相关源码知识 对于springboot 整合mybatis,以及mybatis源码关系不密切的知识,本文将简单带过 系列文章目录和关于我 涉及到 ...
- Golang Gorm 封装 分页查询 Where Order 查询
说说为什么写Gorm,因为公司新项目需要,研究了下Go下的gorm.对于一个项目首先考虑的问题,就是封装一些常用的工具方法,例如多参数查询 where or Like 还有order by Limit ...
- JDBC基础学习笔记
JDBC的理解: JDBC是允许便捷式访问底层数据库的应用程序接口,JDO.Hibernate.MyBatis等只是更好的封装了JDBC. JDBC的连接步骤: 1.注册驱动: //反射机制 Clas ...
- Java关键词synchronized解读
目录 1 引入Synchronized 2 Synchronized的使用 2.1 对象锁 2.1.1 Synchronized修饰实例方法 2.1.2 Synchronized修饰代码块 2.2 类 ...
- Redis学习整理
目录 1.Redis基本概念 2.Redis的5种基本类型 3.Jedis整合redis操作 4.Springboot整合redis 5.Redis主从复制 5.1.概念 5.2.原理 6.开启主从复 ...
- Faster RCNN论文阅读
引言 当前最先进的目标检测模型是由区域提案方法和基于区域的卷积神经网络引领的,由于共享计算,卷积网络花费的时间已经大大减小了,所以当前检测系统的瓶颈就是如何减小区域提案生成部分的花费时间.当前流行的区 ...
- 基于ERNIELayout&pdfplumber-UIE的多方案学术论文信息抽取
本项目链接:https://aistudio.baidu.com/aistudio/projectdetail/5196032?contributionType=1 基于ERNIELayout& ...
- NET-SynchronizationContext
title: .NET SynchronizationContext date: 2022-12-06 09:38:53 tags: - .NET 前言 最近在看CAP的源码,经常能看到Configu ...