android:UI总览

本文详细介绍了Android UI设计中的重要组件、视图容器和布局管理器,包括View和ViewGroup的特性,以及如何通过XML和Java代码创建界面。重点讨论了布局组件如LinearLayout、RelativeLayout和FrameLayout,并阐述了设备独立像素(dp)等相关术语。此外,还讲解了创建UI界面的两种常见方法:使用XML布局文件和Java代码。
摘要由CSDN通过智能技术生成

前言

UI就是展示给用户的界面,相当重要。关于UI要学习的主要有相关的控件,布局,控件的事件机制等
官方提供了两种方式来定义用户界面:

  • 在xml布局文件中通过xml属性进行控制
  • 在Java或者kotlin程序代码中通过调用方法进行控制
  • 推荐做法,混合使用:在xml文件中定义改动不大的组件,在代码中控制变动较大的组件

一:UI组件

Android采用组合器的设计模式来设计View和ViewGroup

1. 视图组件 View

1.1 重要特性

  • View是Android大部分UI的基类
  • View组件代表一个空白的矩形区域

1.2 View类重要属性

XML属性相关方法说明
android:alphasetAlpha(float)属性说明: 视图透明度,值在0-1之间。0为完全透明,1为完全不透明。
android:backgroundsetBackgroundResource(int)属性说明: 视图背景

…未完待续

2. 视图容器组件 viewGroup

2.1 重要特性

  • 继承自View,可以当成普通view类使用,但是主要还是做容器
  • 可以包含View和ViewGroup
  • 实际使用中使用子类

2.2 控制子组件

容器控制子组件依赖ViewGroup.LayoutParams,ViewGroup.MarginLayoutParams两个内部类,都提供了xml属性

ViewGroup.LayoutParams提供的属性:
andorid:layout_width:指定该组件的布局宽度
android:layout_height:指定该组件的布局高度
属性值的可选值:

  • match_parent:指定子组件的高度,宽度与父容器组件相同(需要减去填充的空白距离)
  • wrap_content:指定子组件的大小恰好能包裹它的内容即可

3. 布局组件 layout

Android主要的布局:

  • LinearLayout 线性布局:
  • RelativeLayout 相对布局
  • FrameLayout 帧布局

二:重要术语及概念

  • px:
    像素(pixels),1px代表屏幕上一个物理的像素点。px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同。偶尔用到px的情况,是需要画1像素表格线或阴影线的时候,用其他单位如dp会显得模糊。
  • dp:
    设备独立像素(Density-independent pixel),一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp=1px,但随着屏幕密度的改变,dp与px的换算会发生改变,换算公式为dips=(pixs*160)/densityDpi。
  • dip:
    设备独立像素,与dp完全相同,只是名字不同而已。在早期的Android版本里多使用dip,后来为了与sp统一就建议使用dp。
  • sp:比例像素(scale-independent pixel),主要处理字体的大小,可以根据用户的字体大小首选项进行缩放。当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时1sp1dp=0.00625英寸。
  • in:英寸,标准长度单位,1英寸=2.54厘米(约)。
  • pt:
    磅(point),标准长度单位,1pt=1/72英寸=0.035厘米。
  • ppi:
    每英寸像素数(pixel per inch),该值越高,则屏幕越细腻。

三:创建UI界面的方法

1. 使用xml布局文件

目录:app/src/main/res/layout
显示该视图:setContentView (R.layout.资源文件名字);
通过id访问组件:findViewByld (R.id.android.id 属性值);

2. 使用java代码

UI组件通过new关键字创建出来

3. 使用混合

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值