首页 > 其他分享 >Android常见界面布局

Android常见界面布局

时间:2024-03-20 21:33:54浏览次数:27  
标签:控件 界面 布局 设置 对齐 layout Android android

用户界面UI设计与View类

View类

View是用户界面组件的共同父类,几乎所有的用户界面组件都是继承View类而实现的,如TextView、EditText、Button等。

对View类及其子类的属性进行设置,可以在XML布局文件中设置,也可以通过成员方法在Java代码文件中动态设置。

View类的常用属性与方法

属性方法说明
android:idsetId(int)设置可通过findViewById方法获取的标识符
findViewById(int id)与id所对应的组件建立关联
android:backgroundsetBackgroundColor(int color)设置背景颜色
android:alphasetAlpha(float)设置透明度,取值[0,1]之间
android:visibilitysetVisibility(int)设置组件的可见性
android:clickablesetClickable(boolean)设置组件是否响应单击事件

Android界面布局

在Android应用程序中,界面由布局和控件组成。布局相当于框架,而控件则是框架里面的部件。

布局管理指的是在XML布局文件中设置组件的大小、间距、排列及对齐方式等。

布局文件作为项目的资源,通常存放在res/layout目录下,其扩展名为.xml。可以在XML布局文件中编写布局,也可以在Java代码中编写布局。

View控件

Android所有的UI元素都是通过View控件与ViewGroup容器构建的。其中,Android应用程序的每一个界面有且只有一个ViewGroup容器,ViewGroup作为容器时,可以包含普通View控件,也可以包含ViewGroup容器。

界面布局的通用属性

Android系统中常见的布局方式,如下:ConstraintLayout、LinearLayout、FrameLayout、TableLayout、RelativeLayout、GridLayout。

其中LinearLayout、RelativeLayout、TableLayout、FrameLayout为常用布局,直接或者间接继承自ViewGroup,支持在ViewGroup容器中定义的属性。

属性说明
android:id设置布局的标识
android:layout_width设置布局的宽度
android:layout_height设置布局的高度
android:background设置布局的背景
android:layout_margin设置当前布局与屏幕边界、周围布局或者控件的距离
android:padding设置当前布局与该布局中控件的距离

如果要在Java程序中控制界面中的组件,则必须为界面文件中的组件定义一个ID,其定义格式为:android:id=“@+id/<组件ID>”。

约束布局ConstraintLayout

主要采用相对其它组件的位置的布局方式,通过指定ID关联其他组件,与之右对齐、上下对齐或屏幕中央等方式来排列组件。

约束布局ConstraintLayout是Android Studio系统默认的布局方式。适用于可视化的方式编写界面布局,有相对定位,居中定位和倾向、chain等性质。

可以直接把组件拖到界面中,它会在每个角上显示一个带有方形调整大小控键的边框,并在每边显示圆形约束控键,可以通过拖拽实现调整组件大小及添加约束。

线性布局LinearLayout

线性布局内的子控件按照水平或垂直方向排列。在XML布局文件中,使用<LinearLayout></LinearLayout>标签定义LinearLayout布局。

属性说明
android:orientation设置布局内控件的排列顺序,其属性值有水平(horizontal)和垂直(vertical)两种。
android:layout_weight在布局内设置控件的权重,属性值可以直接写int值,布局内的控件按照权重比显示大小。
android:gravity设置控件的对齐方式,其属性值有上top、下bottom、左letf、右right、水平方向居中center_horizontal、垂直方向居中center_vertical。

相对布局RelativeLayout

相对布局通过相对定位的方式指定子控件的位置。在XML布局文件中,使用<RelativeLayout></RelativeLayout>标签定义RelativeLayout布局。

属性说明
android:layout_above设置当前控件位于某控件上方
android:layout_below设置当前控件位于某控件下方
android:layout_toLeftOf设置当前控件位于某控件左侧
android:layout_toRightOf设置当前控件位于某控件右侧
android:layout_centerInParent设置当前控件位于父布局的中央位置
android:layout_centerVertical设置当前控件位于父布局的垂直居中位置
android:layout_centerHorizontal设置当前控件位于父布局的水平居中位置
android:layout_alignParentTop设置当前控件是否与父控件顶端对齐
android:layout_alignParentLeft设置当前控件是否与父控件左对齐
android:layout_alignParentRight设置当前控件是否与父控件右对齐
android:layout_alignParentBottom设置当前控件是否与父控件底端对齐
android:layout_alignTop设置当前控件的上边界与某控件的上边界对齐
android:layout_alignLeft设置当前控件的左边界与某控件的左边界对齐
android:layout_alignRight设置当前控件的右边界与某控件的右边界对齐
android:layout_alignBottom设置当前控件的下边界与某控件的下边界对齐

表格布局TableLayout

表格布局采用行列的形式来管理控件,通过在表格中添加TableRow布局或者控件来控制表格行数,然后在TableRow布局中添加控件来控制表格的列数。TableLayout继承自LinearLayout,支持LinearLayout所支持的属性。

TableLayout常用属性说明
android:shrinkColumns设置可收缩的列
android:stretchColumns设置可拉伸的列
android:collapseColumns设置可隐藏的列

例如,android:shrinkColumns = “0, 1, 2”,即表格为3列,其列编号为第1、2、3列,三列都可以收缩。

TableLayout中控件的常用属性:说明
android:layout_column控件在第几列显示
android:layout_span控件占据几列

例如,android:layout_column="1",表示在第2个位置显示(下标从0开始)。

帧布局FrameLayout

帧布局,创建空白区域,在空白区域中添加子控件,每一个控件占据一帧,层层叠加,后面添加的子控件会叠加在前一个控件上面,一般默认所有控件与布局左上角对齐。

标签:控件,界面,布局,设置,对齐,layout,Android,android
From: https://blog.csdn.net/m0_47449012/article/details/136876592

相关文章

  • Android 逆向(四) - adb常用逆向命令
    Android逆向(四)-adb常用逆向命令本篇文章继续记录下adb的一些常用逆向命令.1:adbshellps该命令可以查看进程信息.用法:adbshellps|grep[pname]zh@zh:~/workSpace$adbshellpsUSERPIDPPIDVSZRSSWCHANADDRSNAME......
  • Android第一行代码——快速入门 Kotlin 编程(3.7 Kotlin课堂:标准函数和静态方法)
    目录3.7        Kotlin课堂:标准函数和静态方法3.7.1    标准函数with、run和apply3.7        Kotlin课堂:标准函数和静态方法        现在我们即将进入本书首次的Kotlin课堂,之后的几乎每一章中都会有这样一个环节。虽说目前你已经可......
  • Android第一行代码——快速入门 Kotlin 编程(3.6 Activity 的最佳实践)
    目录3.6        Activity的最佳实践3.6.1    知晓当前是在哪一个Activity3.6.2    随时随地退出程序 3.6.3    启动Activity的最佳写法3.6        Activity的最佳实践        关于Activity,你已经掌握了非常多......
  • 测试Flight登陆界面(4)
    测试Flight登陆界面(4)一、实验目的二、实验的步骤和方法1、测试用例设计2、录制测试脚本3、测试脚本一、实验目的1)掌握QTP的基本功能的使用2)学习QTP测试脚本的编辑3)通过此案例掌握QTP功能测试的方法二、实验的步骤和方法1、测试用例设计测试用例要求:用户......
  • Android joystick,安卓模拟摇杆
    安卓模拟游戏摇杆,android实现自定义view参考文章:https://www.jianshu.com/p/96c982d41623,原文部分内容不全。attrs.xml<resources><declare-styleablename="RockerView"><attrname="areaBackground"format="color|reference"/>......
  • 前端必学-40个精选案例实战-案例9:企业首页实战项目【PC端网页布局】
    项目首页.psd项目设计图头部导航条的制作资源:html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,......
  • Android视角看鸿蒙第七课(module.json5中的各字段含义之abilities)
    Android视角看鸿蒙第七课(module.json5中的各字段含义之abilities)导读今天一起来了解module.json5中的最后一个字段,也是最复杂的字段abilities官方文档Indicatesallabilitiesinthecurrentmodule.Thevalueisanarrayofobjects,eachofwhichrepresentsan......
  • css如何通过媒体查询功能实现界面的自适应
    CSS中的媒体查询功能允许您根据不同的设备或屏幕尺寸应用特定的样式规则,从而实现界面的自适应。下面是一个简单的示例,展示如何使用媒体查询来实现自适应布局:htmlCopy code<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name=......
  • Android 获取 打开 WPS内的文档
    1.需求场景在项目开发中碰到这种情况,我们需要利用WPS的文档管理能力,比如需要调用WPS的文件选择器,来选择文档,同时需要得到WPS选择的文档结果返回给我们的应用。之前在网上找到了很久都没有找到WPS移动端有相关的API接口文档和解决方案,最近在逛WPS社区论坛的时看到了有一个WP......
  • Android JNI学习-使用第三方SO库
    https://david1840.github.io/2018/12/03/Android-JNI学习-使用第三方SO库/CMakeList.txt在CMake中将LibTest.so导入工程cmake_minimum_required(VERSION3.4.1)add_library(#Setsthenameofthelibrary.UseSo#Setsthelibraryasasha......