android布局

Flutter 布局类组件

岁酱吖の 提交于 2019-12-01 02:01:31
Column 类似Android里的LinearLayout里的Vertical 竖直布局 Row 类似 Android里的LinearLayout里的horizontal 水平布局 Flex 自适应布局,可以使用flex属性 规定子布局所占比大小,也可用direction规定方向 还有流式布局 Warp ,可以在子控件超出屏幕范围后自动换行,而Row是不可以的 Stack 于Android中的FrameLayout类似,后置入的子控件将会显示在最上面 Cente r 居中显示布局,内部子控件会居中显示 以上为常用layout 来源: https://www.cnblogs.com/fengfenghuifei/p/11647171.html

浅谈Android五大布局——LinearLayout、FrameLayout和AbsoulteLa

…衆ロ難τιáo~ 提交于 2019-11-30 20:56:09
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。    LinearLayout:   LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;如果是水平排列,那么将是一个单行N列的结构。如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个LinearLayout进行水平排列。   LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例。加入一行只有一个文本框,那么它的默认值就为0,如果一行中有两个等长的文本框,那么他们的android:layout_weight值可以是同为1。如果一行中有两个不等长的文本框,那么他们的android:layout_weight值分别为1和2,那么第一个文本框将占据剩余空间的三分之二

Android 的几种布局方式及实践

拥有回忆 提交于 2019-11-30 15:23:43
我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“Hello World!”程序来实践证明了。在继续深入 Android开发之旅 之前,有必要解决前两篇中没有介绍的遗留问题:View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。View的布局显示方式有下面几种: 线性布局 (Linear Layout)、 相对布局 (Relative Layout)、 表格布局 (Table Layout)、 网格视图 (Grid View)、 标签布局 (Tab Layout)、 列表视图 (List View)、 绝对布局 (AbsoluteLayout)。本文虽然是介绍View的布局方式,但不仅仅是这样,其中涉及了很多小的知识点,绝对能给你带来Android大餐! 本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下: 1、View布局概述 2、线性布局(Linear Layout) 2.1、Tips: android : layout_weight = "1" 3、相对布局(Relative Layout) 4、表格布局(Table Layout) 5、列表视图(List View) 5.1、一个小的改进 5.2、补充说明 6、网格视图(Grid View) 7 、绝对布局() 8、标签布局(Tab Layout) 1

Android 第八课——UI布局2

北城余情 提交于 2019-11-30 15:23:07
Android布局分为:线性布局、相对布局、表格布局、帧布局、网格布局五种 1)FrameLayout(帧布局) 帧布局是最简单的布局对象,它被定制为用户屏幕上的一个空白备用区域,之后用户可以在其中填充一个单一对象,例如一张图片等。所有的子元素将会固定在屏幕左上角;我们不能为FrameLayout中的一个子元素指定一个位置。而且新增的子元素将会直接覆盖填充旧的子元素,类似于一个栈结构,当然也不一定是全部挡住,这样看透明度以及大小来决定。 <FrameLayout xmlns:android= "http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:foreground="#ff0000" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/loginName" android:textSize="@dimen/dp50"/> <TextView android:layout_width="wrap_content" android

第五讲:用户界面 View(一)

爱⌒轻易说出口 提交于 2019-11-30 15:22:57
一、什么是View 我们上节课说,Activity是Android程序的显示层,每一个显示窗口都是一个Activity;可是Activity本身无法显示在屏幕上,我们可以把它理解成是一个抽象层,一个壳子;就譬如一个JSP页面,它本身并没有显示出来任何东西,负责显示的是他生成的HTML标签。那么Android里谁才是真正显示出来的部分?--是View和ViewGroup,而ViewGroup其实也是View的子类。 有了上述的概念,我们现在可以讲明白一个Activity中的显示元素是如何显示出来的了。首先UI组件是按层次结构来由外到内的方式逐步展示的。要将一个屏幕元素层次树绑定在一个屏幕上显示,Activity会调用它的setContentView()方法并且传入这个层次树的根节点引用。当Activity被激活并且获得焦点时,系统会通知activity并且请求根节点去计算并绘制树,根节点就会请求它的子节点去绘制它们自己。每个树上的ViewGroup节点会负责绘制它的子节点。ViewGroup会计算它的有效空间,布局所有的子显示对象,并最终调用所有的子显示对象的 Draw()方法来绘制显示对象。各个子显示对象可以向父对象请求它们在布局中的大小和位置,但最终决定各个子显示对象的大小和位置的是父对象。 Android程序借助View和ViewGroup对象来构建用户界面

android多分辨率多屏幕密度下UI适配方案

人走茶凉 提交于 2019-11-30 08:36:56
前言 Android 设计之初就考虑到了 UI 在多平台的适配,它本身提供了一套完善的适配机制,随着版本的发展适配也越来越精确, UI 适配主要受平台两个因素的影响:屏幕尺寸(屏幕的像素宽度及像素高度)和屏幕密度,针对不同的应用场景采用的适配方案也不一样,此文档仅针对 Android4.0 及以下版本 相关概念 分辨率: 整个屏幕的像素数目,为了表示方便一般用屏幕的像素宽度(水平像素数目)乘以像素高度表示,形如 1280x720 ,反之分辨率为 1280x720 的屏幕,像素宽度不一定为 1280 屏幕密度: 表示单位面积内的像素个数,通常用 dpi 为单位,即每英寸多少个像素点 px : 长度单位,以具体像素为单位 dp : 长度单位,与具体屏幕密度无关,显示的时候根据具体平台屏幕密度的不同最终转换为相应的像素长度,具体转换规则是 : 1dp = (目标屏幕密度 / 标准密度) *px, 标准密度为 160dpi ,例如, 1dp 长度在密度为 160dpi 的平台表示一个像素的长度,而在 240dpi 的平台则表示 1.5 个像素的长度 屏幕尺寸: 屏幕的大小,通常用屏幕对角线的长度表示 Android 界面适配机制 UI 界面在不同平台的适配受屏幕尺寸和屏幕密度影响, Android 适配机制就是在资源后面添加对这两种因素的限定,通过不同的限定区分不同的平台资源,

带你领略 MontionLayout 的魅力(上)

老子叫甜甜 提交于 2019-11-30 06:05:13
最初接触到 MotionLayout 是在国外知名博客的 Android 专栏 上。第一眼见到 MotionLayout 时无疑是兴奋的,在经过使用和熟悉了这个布局组件之后,我就想将这份喜悦传递给国内开发者,从此“拳打”设计,“脚踢”产品😁。当然,由于关于 MotionLayout 的外文专栏相关介绍已足够详细,所以本文仅对其进行总结和简单应用。老规矩,正文开始前先上一张图: 简介 由于本文的受众需要有一点 ConstraintLayout 的用法基础,如果你对它并不熟悉,可以先去花几分钟看一下本人之前的译文: 带你领略 ConstraintLayout 1.1 的新功能 。回到正题,什么是 MontionLayout ?很多人可能会对这个名词比较陌生,但如果说到它的前身 — ConstraintLayout ,大家应该就多少有些了解了。 MontionLayout 其实是 Google 在去年开发者大会上新推的布局组件。我们先来看看 Android 官方 对于它的定义: MotionLayout is a layout type that helps you manage motion and widget animation in your app. MotionLayout is a subclass of ConstraintLayout and builds upon

是时候让 Android Tools 属性拯救你了

混江龙づ霸主 提交于 2019-11-30 06:05:13
日常开发过程中,我们都会遇到这样一种场景:我们写出的 UI 效果在对接数据之前需要提前进行预览,进而调整 UI 细节和排版问题。我们一般的做法是什么样的?如果存在像 TextView 或者 ImageView 这种基础控件,你是不是还在通过诸如 android:text="xxx" 和 android:src="@drawable/xxx" 的方式来测试和预览UI效果?当然你肯定也会遇到这些“脏数据”给你带来的困扰:测试的时候某些地方出现了本不该出现的数据,事后可能一拍脑门才发现,原来是布局中控件预览数据没有清除导致的。如果是 RecyclerView,在后台接口尚能测试的情况下,你是否又要自己生成“假数据”并手写 Adapter 呢?这时候你不禁会问:有没有一种方法,既能够做到布局时预览数据方便排版,又能够在对接真实数据运行后动态替换和移除这些无关数据呢? 铛铛铛铛!Android 的 Tools attributes 应运而生。老规矩,我们先来看一个效果: What?你在耍我吗?这么简单的列表拿出来干嘛?哈哈,客观不要着急。这个并不难实现,倘若我说这里并没有写一行 Java 或者 Kotlin 代码就实现了此效果,而只是在布局页面预览,你敢信吗?上图只是冰山一角,下面这张图才是全貌: 下面会带大家一步步实现上述功能,首先,让我们从头说起。 认识 Tools attributes

Android 布局阴影实现

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-30 03:20:29
最近项目要求,ui有很多有关于阴影的设计要求,网上找了些实现方式,但都不是很理想。现在闲下来了,就寻思着自己写个阴影布局耍耍,以备后用。先说道说道我找到的几种阴影实现方式: 系统阴影 Andorid 系统自api 21之后就多了一个熟悉 android:elevation ,这是android最新引入的轴的概念,可通过设置elevation来设置阴影(z轴的大小),设置如下: 1 <!-- base z depth of the view. --> 2 <attr name="elevation" format="dimension" /> 3 4 <TextView 5 android:id="@+id/shadow1" 6 app:layout_constraintStart_toStartOf="parent" 7 app:layout_constraintTop_toTopOf="parent" 8 android:layout_marginStart="20dp" 9 android:layout_marginTop="20dp" 10 android:text="系统阴影" 11 android:background="#fff" 12 android:gravity="center" 13 android:textSize="14sp" 14 android

Android UI布局

大憨熊 提交于 2019-11-29 18:36:29
Android UI----User Interface User Interface Layouts UI Overview 编写xml Android Layout Android 七大布局 Tips gravity和layout_gravity的区别 LinearLayout RelativeLayout FrameLayout TableLayout AbsoluteLayout GridLayout ConstraintLayout User Interface Layouts UI Overview 布局可定义应用的页面结构(如Activity的界面结构)。布局中的所有元素均使用View和ViewGroup对象的层次结构进行构建。View通常绘制用户可查看并进行交互的内容。然而,ViewGroup是不可见容器,用于定义View和其他ViewGroup对象的布局结构 View对象通常称为“微件”,可以是众多子类之一,如Button或TextView。ViewGroup对象通常称之为“布局”,可以是提供其他布局结构的众多类型之一,如:LinearLayout或ConstraintLayout。 声明布局的两种方式: 在xml中声明界面元素。 Android提供对应View类及其子类的简明xml词汇,如LinearLayout、TextView和Button等微件和布局的词汇