成功开发Android app-4(布局)

安卓手机APP开发的实践_点击行为 这是手机开发的实践篇,有示例代码和开发思路的讲解。 阅读详情

布局

在android 开发中基础组件时view 类似于html的div
ViewGroup 为一个view组 类似于html中的 hgroup

基础属性

android:layout_width 宽度
android:layout_height 高度
match_parent 填充最大宽和高
wrap_content 自适应高度和宽度,子控件的总和
dp 长度单位
sp 大小单位
android:background 背景

绝对布局(API3中已弃用)

AbsoluteLayout 绝对布局
API3中已弃用这里就不详细说了。

线性布局

LinearLayout 线性布局
android:weight:权重 (常用来划分组件模块)
android:layout_weight 属性为各个子视图分配权重
android:orientation: 排列方向

  1. Vertical 垂直
  2. Horizontal 水平

android:gravity:对齐方式

  1. left 左对齐
  2. right 右对齐
  3. center 居中对齐
  4. top 顶部对齐
  5. bottom 底部对齐

android:ignoreGravity: 忽略对齐方式

表格布局(基于线性布局的一种布局)

TableLayout 表格布局

android:collapseColumns: 设置需要被隐藏的列的序号
android:shrinkColumns: 设置允许被收缩的列的列序号
android:stretchColumns: 设置运行被拉伸的列的列序号

序列号从0 开始

android:layout_column=“2”: 合并2列
android:layout_span=“4”: 合并4行

相对布局

RelativeLayout 相对布局

相对布局不能同时设置高度为 wrap_content 和子布局为layout_alignParentBottom,这样会产生一个循环依赖

android:ignoreGravity

手机左上角为(0,0)
往下为正 往右为正

相对定位的属性
//相对父容器定位
android:layout_alignParentTop 相对顶对齐
android:layout_alignParentLeft 相对父容器左对齐
android:layout_alignParentRight 相对父容器右对齐
android:layout_alignParentBottom 相对父容器底对齐
android:layout_centerHorizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInParent 垂直、水平居中
//相对兄弟容器
android:layout_toRightOf 兄弟的右边
android:layout_toLeftOf 兄弟的左边
android:layout_alignBaseline 同一水平线对齐
android:layout_below 基于…的下方
android:layout_above 基于…的上方
//外边距
android:layout_margin 外边距
//内边距
android:padding 内边距

帧布局

FrameLayout
属性:
android:foregroundGravity: 定义了前置可绘制区域的定位

  1. bottom 下端
  2. center 中心
  3. left 左端
  4. right 右端
  5. top 上端
  6. fill 铺满
    android:measureAllChildren: 检测所有孩子的可见状态
  7. true
  8. false

网格布局

GridLayout 网格布局
在一个矩形的网格中来进行子组件的布局
android:alignmentMode 定义子组件中是否有间隔(默认是alignMargins)

  1. alignMargins 子组件之间没有边界
  2. alignBounds 子组件之间有边界

android:columnCount 设置自动定位子视图时创建的最大列数
值为int类型数据

android:columnOrderPreserved 设置使列边界显示的顺序和列索引的顺序是否相同

  1. true 相同(默认)
  2. false 不相同

android:orientation: 排列方向

  1. Vertical 垂直
  2. Horizontal 水平

android:rowCount 设置自动定位子视图时创建的最大行数
值为int类型数据

android:rowOrderPreserved 设置使行边界显示的顺序和行索引的顺序是否相同

  1. true 相同(默认)
  2. false 不相同

android:useDefaultMargins 当未手动设置视图的布局参数时,是否告诉网格布局使用缺省的外边距

  1. true 使用(默认)
  2. false 不使用
使用Android Studio 开发APP入门经验 本人新晋菜鸟一只,目前正在学习当中,我把自己的一些入门经验分享给大家,希望对一些像我一样刚入门的小伙伴有些帮助,若有什么写的不对的地方还望各位大神批评指出。Android studio作为现在一个主流的安卓开发工具,这里我将介绍如何在Android studio中创建一个APP项目以及编写一个简单的App,并在以后经验中介绍其他有关Android studio的操作和编程方法。 阅读详情

相关推荐

安卓APP(3)——安卓布局控件

安卓APP(3)——安卓布局控件

weixin_50546241的博客 1572

安卓app入门(2)界面布局和控件

1.线性布局(LinearLayout) 线性布局等于创建了一个框,用来放置其中包含的控件,同时线性布局可以互相包含嵌套 属性有长宽大小、位置、水平或垂直排布等 如垂直排布时: 水平排布时: 使用·android:gravity=""可以选择顶部开始或居中等排列方式 2.常用控件 在线性布局下(LinearLayout)按钮、文本框 通用属性 1.控件id 每个空间应当有唯一的控件id 如:android:id="@+id/button1" 2.控件宽度高度 android:layout_width=

qq_40508193的博客 1487

安卓App开发 篇二:Android UI和布局

Figma上的Android UI Kit设计的界面原型并不能直接自动转换为Jetpack Compose代码,因为Figma是一个设计工具,而Jetpack Compose是Android平台上的声明式UI框架,它们分别处于设计和开发的不同阶段。当你调用一个可组合函数时,它就被认为是组合的一部分,这意味着它的输出将被包含在当前的UI中。基于槽位(slot-based)的布局是一种灵活的布局方式,它允许你创建可复用的、可扩展的组件,这些组件可以预留出位置或“槽位”,供外部代码填充特定的内容。

生活在别处 1383

ANDROID APP的页面布局(Part I)

做一个好的APP自然是不能缺少一个好的漂亮的且合理的页面布局了,ANDORID里面支持的布局大致上有下列即种,根据界面的需要使用不同的布局可达到事半功倍的效果,这个跟做HMTL的页面的原理是一样,好的页面看起来就是舒服,而且容易维护。 1. Linear Layout(线性布局,横向或者竖向) 2. Relative Layout(相对布局) 3. Table Layout(表格布局) 4. G...

心雨楼 794

超详细!动态规划详解分析(典型例题分析和对比,附源码)

为啥要使用动态规划?什么时候使用动态规划?以下是我的一些理解和心得,如果你感兴趣,就接着往下看吧。 对您有帮助的话记得给我点个赞哟! 动态规划的基本思想 动态规划(Dynamic Programming,DP)算法通常用于求解某种具有最优性质的问题。在这类问题中,可能会有许多可行解,每一个解都对应一个值,我们希望找到具有最优值的解。 动态规划算法与分治法类似,其基本思想也是将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解中 得到原有问题的解。与分治法不同的是,动态规划经分解后得到的子问题

qq_44398094的博客 8万+

Renesas:定时器输入捕获

一、PWM输入捕获 1、Smart Configurator配置 注意:在使用前,需要使能对应的定时器!否侧无法正常进行输入捕获! 2、脉冲宽度的获取 如何区分高低电平的脉冲宽度:最常用的方法就是在触发中断后,判断IO口的高低电平,来确认是上升沿触发的中断还是下降沿触发的中断。 若无法进入中断,可查看:Renesas:配置中断的常规流程 (1)中断方式(Smart Configurator生成的代码) #pragma interrupt r_Config_TAUB0_0_i...

不吃鱼的猫的博客 2481

android studio新手安卓开发心得(一)

在我要使用fragmentManager时,具体是要在mainActivity中初始化我定义的某碎片, 要使用fragmentManager声明一个事务, 一开始时用的val tr = fragmentManager.beginTransaction() 在要用这个tr进行replace时,tr.repalce(R.id.XFrameLayout,我定义的继承了Fragment的某碎片), 出现了报错 !!! ①Type mism...

渔火江渚上的博客 737

使用Power Apps实现SharePoint Online列表的下拉菜单的级联选择

在SharePoint列表中添加数据的时候,下拉菜单的级联选择一直是一个非常实用的功能,尤其是有很多数据的情况,级联选择可以根据上一层的选择,自动过滤下一层的选择,方便用户查找和选择准确的信息。一个最常用的情景是选择供应商的地区和国家,例如有三个列表,一个是供应商所在的大洲,一个是国家,一个是供应商。当用户选择州的时候,会自动列出属于这个州的国家。避免用户迷失在大量的数据中。 这里展示一下如何在...

shrenk的专栏 7811

androidStudio开发安卓APP的五种框架布局界面设计

开发安卓APP的五种框架界面设计 开发安卓app,我们需要美观的界面,然后这些界面,我们必须要掌握的就是对应的框架布局,本次博客,我们将进行app界面的五种框架布局,并给出对应的界面设计的例子 (一)、线性布局框架 1、简单介绍如下: 2、实例如下: 计算器的布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xm...

qq_42451251的博客 1万+

Stata实战入门:从数据导入到基础分析的全流程指南

本文提供了Stata实战入门的全流程指南,从数据导入、清洗到基础分析和可视化,帮助初学者快速掌握Stata的核心功能。通过详细的步骤和实用技巧,读者可以高效完成数据处理、变量操作、描述性统计和回归分析等任务,提升数据分析效率。

weixin_28327051的博客 384

什么是Claude 的 Agent Skills?

摘要: Claude的Agent Skills功能支持通过结构化技能包(含指令、脚本、工具)实现任务自动化,如数据分析、文档生成等。核心能力包括:1)技能包管理(如Python脚本+模板);2)工具调用(API/数据库交互);3)子代理协作(拆分复杂任务)。快速上手步骤:创建技能包(如Excel报表生成)、配置工具权限、触发执行;支持多代理并行处理(如SQL查询+可视化)。关键技巧:工具需明确定义参数、利用子代理共享上下文、注重权限管控。官方文档与社区资源提供进阶指导,使Claude成为可编程的数字助手。

jobleap.cn求职助手首页 1729

安卓APP开发基础

目录安卓工程构建和第一APP运行 安卓工程构建和第一APP运行 嵌入式学习安卓目的其实是为了掌握简单的安卓APP开发,最重要的目的并不是为了开发APP,而是为了了解APP开发的整个过程,方便为安卓开发工程师提供SDK包,也就是如何在手机APP上实现点灯等控制硬件的一系列操作。 ...

zhuguanlin121的博客 1849

BQ25798双电源输入4节电池升降压充电与最大功率跟踪于光伏板应用

介绍一颗具有窄范围直流电压NVDC、路径管理PPMT、光伏板最大功率跟踪及反向放电OTG升降压充电控制器,带I2C接口能对内部寄存器做控制

linkedin_38804946的博客 1677

安卓app开发系列之-布局基础

本文介绍了 Android 布局的基础知识,包括常见的布局类型如和,同时讲解了嵌套布局的使用与注意事项。此外,还列出了布局中常用属性及其作用。掌握不同布局的使用场景和特点,将帮助你创建出更加灵活和美观的用户界面。在后续的开发中,可以善用这些知识,设计和实现更加复杂的 UI。如有疑问或需进一步了解,欢迎随时提问!

Jamson 1439

【报错】open /var/lib/docker/tmp/docker-import-863402796/bin/json: no such file or directory

然后,通过docker images可以看到镜像已经加载进来了。然后,通过docker images可以看到镜像已经加载进来了。

静谧、淡雅 6223

【MATLAB-app】系列教程(含视频)第4、5、6课:实战_制作简单的图像处理软件

写作时间: 2020-12-27 我的教程目录 第1课:初步了解appdesigner 第2课:学会制作一个计算器 第3课:学习更多的控件(重点!) 第4课:实例1:制作一个图像处理软件 第5课:学习APPdesigner的设计精髓,框架 第6课:结合使用多种控件,函数等,丰富我们的实例1 第7课:app设计打包,完成工程应用导出 标题: 第4课:我的实例_学会制作一个图像处理软件 本文目录: 1.先看看我之前的一个工程 2.常用的基本组件控件 3.最常用且实用的控件的用法 -3.1 editfilel

wind 4054

基于安卓android studio 的 菜谱食谱APP设计

一 项目概述 菜谱APP或者食谱APP 是基于安卓开发的一个APP,项目包含前台安卓端和后台管理系统,前台安卓端可以进行 查看推荐菜谱,菜谱搜索,收藏菜品 ,菜品排行榜,菜品详情,个人中心,基本信息,登录,注册等功能,后台管理系统主要维护菜品,维护前台注册的用户。东西非常多。 二 项目开发工具和技术 开发工具使用android studio 后台服务开发 idea或者eclipse 模拟器:逍遥 夜神或者雷电模拟器 三 项目功能结构图 四 项目开发实现 菜谱首页效果: 首页包含顶部导航,菜品分类 ,

coder1998的博客 3万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Android App开发基础

一 App的开发特点 1.1 App的运行环境 1.2 App开发语言 1.3 java语言开发 1.4 Kotlin语言开发 1.5 XML 1.6 App连接的数据库 二 App的工程结构 2.1 App工程目录结构 2.2 构建工具Grade 2.3 编译配置文件build.gradle 2.4 运行配置文件AndroidManifest.xml 2.4.1 application 2.4.2 activity 三 App的设计规范 3.1 界面设计与代码逻辑 3.2 完整的页面创建过程包括三个步骤:

缘友一世的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

安卓APP开发流程

安卓(Android)APP 开发是一个 “需求→设计→开发→测试→发布→迭代” 的完整闭环,核心围绕“Java/Kotlin 语言”+“Android Studio 工具”+“Android 系统规则”

2501_94331842的博客 1867

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

android获取其他app布局,Android Studio查看其它APP的布局结构

概述日常使用别家的APP过程中,会遇到一些比较好看的布局,这时候我们就想学习一下别人的布局结构,以便参考。(1)手机连接电脑、设置手机为USB调试模式(2)运行Android Studio,打开 Tools--Android--Android Device Monitor注意:android Studio3.1开始只能通过命令行的方式启动Android Device Monitor。或者手动打开文...

weixin_34822215的博客 4798

Android app开发布局以及简单控件总结

App的开发和Web的开发有内在的一致性,逻辑上的相似性。具体体现如下: 1.标签代表空间或者元素 2.可以直接在标签上写属性 3.可以用id标识标签,通过id选择该标签并被设置 4.从大逻辑上讲标签在做的都是展示、交互、反馈

weixin_53946012的博客 1037

不会Java?没关系,用C/C++做安卓APP,Qt for Android开发

首先Qt就不多说了,大家应该都有了解,跨平台的应用程序开发框架,Windows、Linux、Android、IOS(网上听说是可以支持的,没有试过)等一些平台都可以使用,最关键的是基本同一套代码,不用怎么修改就可以切换平台,相当方便。1. 下载Qt软件,我用的是Qt-opensource-windows-x86-5.12.0版本的,注意:后续插件的版本和Qt的版本貌似要有对应,有的版本不对可能不行,尽量用我推荐的版本。安装没什么好说的,Qt安装的时候注意选择安卓的插件。3. 下载JDK,版本为8u201。

ic2121的博客 1万+

安卓开发——做一个能定时唤起其他APP的闹钟程序

做一个能定时唤起其他APP的闹钟程序一、准备工作:二、从一个app唤起其他app功能的核心代码:三、主页面:(1)XML布局代码(2)界面截图(3)后台Java代码四、闹钟界面:(1)XML布局代码(2)界面截图(3)后台Java代码五、运行测试:(1)打开闹钟app,点击启动QQ闹钟(2)设置闹钟时间(3)闹钟设置成功,等待到达指定时间(4)QQ成功按时被唤起(5)把Android工程导出成apk在自己手机上安装成功运行 一、准备工作: 要让一个app唤起另一个app,首先要做的是要知道被唤起app的包名

fjnu_se的博客 4406

安卓APP开发之界面布局

这里写目录标题页面布局类型RelativeLayout中的子控件常用属性1、相对于父控件2、相对给定Id控件3、居中安卓中的基础控件 页面布局类型 相对布局结构: < RelativeLayout > < TextView /> < /RelativeLayout > 控件的属性控制: android:layout_width="match_parent" 宽度 android:layout_height="match_parent" 高度 match_pare

Yangyingchungood的博客 2847

开发一个安卓app-备忘录

效果图 工程目录: AddActivity代码: package cn.fanting.notpadnew; import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.support.v7.ap...

qq_40308101的博客 9542

02 java ---- Android 基础app开发

/ 自定义的点击事件处理类,实现了View.OnClickListener接口 继承@Override//方法重写触控事件 有触控这日志输出 没用toast因为toast得调用主函数中//Toast.makeText(this, "按键一被按下", 0).show();//没用toast因为toast得调用主函数中System.out.println("按键一被按下");break;//Toast.makeText(this, "按键二被按下", 0).show();

prppr_的博客 7679
上一篇: 成功开发Android app-3(文件详解及生命周期)
下一篇: 成功开发Android app-5(视图)
IT_Joliu
博客等级 码龄9年 32粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值