TableLayout布局

news2024/12/24 9:58:31

表格布局-TableLayout

1.TableLayout简介

1.简介

  • 表格的形式,整齐
  • 可以嵌套
  • 继承于线性布局

2.行数如何确定?

  • tableRow,来指定行数
  • 列数由最多的那个决定
  • layout_column来指定具体的列数,从0开始

2.TableLayout的常见属性

  • 所有的都是从0开始
  • 列号都是从0开始算的, 可以设置多个,用逗号隔开比如"0,2", 所有列都生效,则用"*"号即可

属性名称

对应方法

描述

android:collapseColumns

setColumnCollapsed(int,bolean)

设置指定列号的列为是否隐藏

android:shrinkColumns

setShrinkAllColumns(boolean)

设置指定的列号列为宽度是否可进行收缩

android:stretchColumns

setStretchAllColumns(boolean)

设置指定列号的列为宽度是否可进行拉伸,尽量把指定的列填充空白部分

扩展:控件如何设置属于第几列?

  • layout_column指定
  • layout_span,合并列

3.案例:登录框初级版

测试2.中的属性

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".TableLayout">
    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="1"
        android:shrinkColumns="*"
        >
      <TableRow>
          <TextView
              android:layout_height="wrap_content"
              android:layout_width="wrap_content"
              android:text="账号:"
              android:textSize="30dp"

              />
          <EditText
              android:layout_height="wrap_content"
              android:layout_width="wrap_content"
              android:hint="输入账号"
              android:textSize="30dp"
              />
      </TableRow>
        <TableRow>
            <TextView
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="密码:"
                android:textSize="30dp"
                />
            <EditText
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:hint="输入密码"
                android:textSize="30dp"
                />
        </TableRow>

        <TableRow>
            <Button
                android:layout_column="1"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="登录"
                android:textSize="30dp"
                />

        </TableRow>
        <TableRow>
            <Button
                android:layout_span="2"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="注册"
                android:textSize="30dp"
                />

        </TableRow>
    </TableLayout>

</LinearLayout>

图1 实时响应图

图2 实际运行图

3.登录框,改进版本

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="0,2,3"
        android:shrinkColumns="*"
        >
        <TableRow>
            <TextView
                android:layout_column="1"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="账号:"
                android:textSize="30dp"

                />
            <EditText
                android:layout_column="2"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:hint="输入账号"
                android:textSize="30dp"
                />
            <TextView/>
        </TableRow>
        <TableRow>
            <TextView
                android:layout_column="1"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="密码:"
                android:textSize="30dp"
                />
            <EditText
                android:layout_column="2"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:hint="输入密码"
                android:textSize="30dp"
                />
            <TextView/>
        </TableRow>

        <TableRow>
            <Button
                android:layout_column="1"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="登录"
                android:textSize="30dp"
                />

            <Button
                android:layout_column="2"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="注册"
                android:textSize="30dp"
                />
            
        </TableRow>
    </TableLayout>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/108659.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VMware ESxi 服务器迁移【手动版】

VMware ESxi 迁移【手动版】 应用场景 两个不同环境下的服务器进行迁移 因为不能直接对拷&#xff0c;需要在中间机上转一下 才有了这么一出 第一步 搭建NFS 在中间机上安装NFS&#xff08;或者其他磁盘挂载方式&#xff09; 目的呢是把源服务器上的系统拷贝到中间机上&#x…

android入门之broadcast

1. 前言 广播Broadcast是android四大组件之一。是用来互相通信&#xff08;传递信息&#xff09;的一种机制。 通信包括&#xff1a; a) 组件间&#xff08;应用内&#xff09;通信 b) 进程间通信 2. 广播Brocast的基本使用方式 广播发送者&#xff1a;Acvitity、Service等…

pdf文档页码怎么添加?分享这几个pdf加页码方法给你

不管是还在校园里的学生&#xff0c;还是已经步入职场的小伙伴&#xff0c;都会遇到要对一些文档进行编辑处理&#xff0c;例如有时需要将word、excel、ppt等格式的文档与pdf文件进行相互转换&#xff0c;有时又需要对pdf文件进行编辑文档增加页眉页脚、拆分合并、加密解密等操…

基于Python+Echarts+Pandas 搭建一套图书分析大屏展示系统(附源码)

今天给大家分享的是基于 Flask、Echarts、Pandas 等实现的图书分析大屏展示系统。 项目亮点 采用 pandas、numpy 进行数据分析 基于 snownlp、jieba 进行情感分析 后端接口选用 RESTful 风格&#xff0c;构建 Swagger 文档 基于 Flask、Echarts 构建 Web 服务&#xff0c;采…

2022年债券估值工具和方法

第一章 债券估值原理概述 债券估值是决定债券公平价格[1]的过程。债券公平价格是债券的预期现金流经过合适的折现率折现以后的现值&#xff0c;其原理是未来现金流流出折现到今日与今日现金流流出相等。因此&#xff0c;债券的估值模型可以表示为&#xff1a; 资料来源&#x…

新冠阳性的第四篇博客,SpringBoot 任务(异步、定时、邮件)

新冠阳性的第四篇博客&#xff0c;SpringBoot 任务&#xff08;异步、定时、邮件&#xff09;1.异步任务2.邮件任务3.定时任务1.异步任务 异步处理还是非常常用的&#xff0c;比如我们在网站上发送邮件&#xff0c;后台会去发送邮件&#xff0c;此时前台会造成响应不动&#x…

Python多元线性回归、机器学习、深度学习在近红外光谱分析中的应用

导师&#xff1a;郁磊副教授&#xff0c;主要从事MATLAB 编程、机器学习与数据挖掘、数据可视化和软件开发、人工智能近红外光谱分析、生物医学系统建模与仿真&#xff0c;具有丰富的实战应用经验&#xff0c;主编《MATLAB智能算法30个案例分析》、《MATLAB神经网络43个案例分析…

【Vue】二、 认识Vue.js的各种指令

后端程序员的vue学习之路1、创建第一个vue对象2、vue构造器3、Vue.js模板语法v-text至v-for练习v-on指令练习v-bind指令练习v-model指定练习v-pre指令v-slot指令v-cloak指令v-once指令1、创建第一个vue对象 引入了vue.js后&#xff0c;在页面就可以创建一个Vue对象&#xff0c…

JS圣诞树

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。&#x1f34e;个人主页&#xff1a;Java Fans的博客&#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。&#x1f49e;当前专栏&#xff1a;前端案例分享…

this指向问题,apply,call,bind用法及区别

1.谁调用我&#xff0c;我就指向谁。 在页面上直接打印一个consle.log&#xff08;this&#xff09;,这个this会指向window对象。如果写一个函数&#xff1a;打印this,该this会指向window。因为这个函数是挂载在这个window对象上的。对象obj的this指向的是对象&#xff0c;因为…

[ 漏洞挖掘基础篇五 ] 漏洞挖掘之 XSS 注入挖掘

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

创新指南|2023年企业战略制定应避免的5大误区

在迅速发展、不断变化的当下&#xff0c;尤其是疫情黑天鹅发生之后&#xff0c;许多企业面临着高度的不确定性&#xff0c;从而亟需进行企业战略的思考。在本文中&#xff0c;战略专家Stephen Bungay指出了五个战略误区&#xff0c;并解释了它们为什么听起来正确&#xff0c;以…

基于JAVA技术的《物联网技术》课程学习网站设计与实现

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 基于JAVA技术的《物联网技术》课程学习网站设计与实现 网站前台&#xff1a;关于我们、联系我们、公告信息、资料信息&a…

实现Kafka至少消费一次

实现Kafka至少消费一次默认的kafka消费者存在什么问题&#xff1f;实现至少消费一次加入重试队列再次消费使用seek方法再次消费在实际重要的场景中&#xff0c;常常需要实现消费者至少消费一次。因为使用默认的kafka消费者存在某些问题。 默认的kafka消费者存在什么问题&#x…

Django+DRF+Vue+Mysql+Redis OUC软件工程作业

交作业啦 前端&#xff1a;htmlcssjsVueElement-ui 后端&#xff1a;DjangoDRFceleryhaystackdjango_crontab 数据库&#xff1a;MysqlRedis 一些技术和功能&#xff1a; 为session、短信验证码、用户浏览记录、购物车、异步任务队列 创建缓存whoosh搜索引擎异步任务队列 用…

谷歌Recorder实现说话人自动标注,功能性与iOS语音备忘录再度拉大

在今年的 Made By Google 大会上&#xff0c;谷歌公布了 Recorder 应用的自动说话人标注功能。该功能将实时地为语音识别的文本加上匿名的说话人标签&#xff08;例如 “说话人 1” 或“说话人 2”&#xff09;。这项功能将极大地提升录音文本的可读性与实用性。 谷歌于 2019 …

Spring Cloud Alibaba Sentinel - - >流控规则初体验

源码地址&#xff1a;https://github.com/alibaba/Sentinel 新手指南&#xff1a;https://github.com/alibaba/Sentinel/wiki/新手指南#公网-demo 官方文档&#xff1a;https://sentinelguard.io/zh-cn/docs/introduction.html 注解支持文档&#xff1a;https://github.com/ali…

Android常用布局总结之(FrameLayout、ConstraintLayout)

一、FrameLayout 帧布局 这种布局类似叠加的图片&#xff0c;没有任何的定位方式&#xff0c;当我们往里面添加组件的时候&#xff0c;会默认把他们放到容器的左上角。 上面的组件显示在底层&#xff0c;下面的组件显示在上层。 如下代码&#xff0c;视图1显示在最底层&#…

虹科案例 | 光纤传感器实现了新的核磁共振应用!

背景介绍 光纤传感器已成为推动MRI最新功能套件升级和新MRI设备设计背后的关键技术。将患者的某些活动与MRI成像系统同步是越来越受重视的需求。磁场强度随着每一代的发展而增大&#xff08;3.0T是当今最高的标准&#xff09;&#xff0c;因此&#xff0c;组件的电磁透明度在每…

python---数据库操作

在python中&#xff0c;使用第三方库pymysql来执行数据库操作 命令行窗口输入 &#xff1a;pip install pymysql&#xff0c;下载第三方库 数据库查询操作 Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。 fetchone(): 该方法获取下一…