首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

速读原著-Android应用开发入门教程(Android的屏幕元素体系)

第 8 章 视图组(ViewGroup)和布局(Layout)的使用 在 Android 中视图组是集合若干个控件在一起的元素,ViewGroup 有两种用法,一种是像普通的控件一样使用(如网页视图、旋转按钮...8.1 Android的屏幕元素体系 在屏幕中控件的组织上,可以将各个视图(控件)组成一个视图组(ViewGroup),视图组是一个包含了其他视图的视图。...根据以上的原则,当屏幕需要包含多个视图时,必须组织在一个视图组中。由于视图组本身也是一个视图,因此视图组还可以包含视图组。...在这里一个主要的限制是:在没有视图组的情况下,两个以上的视图(也包括视图组)是不能够并列的。 例如,在布局文件中,类似下面的写法是不可以的。 Android 中,有一些预置的 ViewGroup 可以直接像 View 一样使用(如 WebView),还有一些ViewGroup 本身没有功能,只是提供屏幕上的各种布局(如 AbsoluteLayout

47120

Android 中的LayoutInflater(布局服务)

本节引言: 本节继续带来的是Android系统服务中的LayoutInflater(布局服务),说到布局,大家第一时间 可能想起的是写完一个布局的xml,然后调用Activity的setContentView...()加载布局,然后把他显示 到屏幕上是吧~其实这个底层走的还是这个LayoutInflater,用的Android内置的Pull解析器来解析 布局。...一般在Android动态加载布局或者添加控件用得较多,本节我们就来学习下他在实际开发中 的一些用法~ 1.LayoutInflater的相关介绍 1)Layout是什么鬼?...又或者设置margin等等,这个由你决定~ 2.纯Java代码加载布局 我们早已习惯了使用XML生成我们需要的布局,但是在一些特定的情况下,我们 需要使用Java代码往我们的布局中动态的添加组件或者布局...中的LayoutInflater(布局服务),以及动态加载View和控件 相关的东西,相信对初学控件的朋友带来帮助~好的,就说这么多,谢谢

83510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android开发中TableLayout表格布局

    Android开发中TableLayout表格布局 一、引言         在移动端应用程序开发中,常常会使用到表格布局,iOS和Android开发框架中都提供了独立的表格视图控件供开发者使用,例如...iOS中的UITableView、UICollectionView,Android中的ListView、GridView等。...除了独立的视图控件外,Android中还提供了一个布局容器类TableLayout,使用其也可以进行方便的表格布局。        ...实际上,TableLayout就是采用这样的原理,TableLayout继承于LinearLayout,其中每个视图元素作为一行,同时Android中还提供了一个TableRow类,这个类同样继承自LinearLayout...,其中每个视图元素作为当前行中的一列,结合使用TableLayout与TableRow,就实现了行列的表格布局。

    1.6K30

    Android开发中RelativeLayout相对布局

    Android开发中RelativeLayout相对布局         RelativeLayout布局是Android界面布局中应用最广也最强大的一种布局,其不仅十分灵活,可以解决开发中各种界面布局需求...,同时也很方便了解决了多屏幕尺寸的适配问题。...在iOS开发中,Autolayout技术总是被赞不绝口,RelativeLayout布局就是Andriod系统中的Autolayout,其又被称为相对布局。        ...所谓相对布局,是指其坐标的确定并不是开发者写死的,而是有系统自动计算出来的,那么系统如何计算每个视图控件的位置呢?...void addRule(int verb, int anchor) //移除一个布局规则 public void removeRule(int verb) 用于进行布局规则配置的参数如下: /*=

    1.2K20

    Android获得控件在屏幕中的绝对坐标

    (location);//获取在整个屏幕内的绝对坐标 location [0]--->x坐标,location [1]--->y坐标 getLocationOnScreen 计算该视图在全局坐标系中的x...,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标 getLocationInWindow 计算该视图在它所在的widnow的坐标x,y值,获取在整个窗口内的绝对坐标...在onWindowFocusChanged(boolean hasFocus)中获取为好 即覆写Activity的onWindowFocusChanged(boolean hasFocus)方法 XXX_Activity...int[] location2 = new int[2] ; view.getLocationOnScreen(location2);//获取在整个屏幕内的绝对坐标...//do something } 更多资料: Android View各种尺寸位置相关的方法探究 PS:本文为转载,首发地址不可考,网上搜到的全是转载的,故不能贴出原地址,如果你是作者可以留言原地址或者要求删除

    2.1K20

    Android开发-Listview中显示不同的视图布局

    使用场景 在重写ListView的BaseAdapter时,我们常常在getView()方法中复用convertView,以提高性能。...convertView在Item为单一的同种类型布局时,能够回收并重用,但是多个Item布局类型不同时,convertView的回收和重用会出现问题。...比如有些行为纯文本,有些行则是图文混排,这里纯文本行为一类布局,图文混排的行为第二类布局。单一类型的ListView很简单,下面着重介绍一下ListView包含多种类型视图布局的情形。...2.ListView包含不同Item的布局 我们需要做这些工作:   1)重写 getViewTypeCount() – 该方法返回多少个不同的布局   2)重写 getItemViewType...(int) – 根据position返回相应的Item   3)根据view item的类型,在getView中创建正确的convertView 3.案例 import java.util.ArrayList

    2.3K30

    【Android 屏幕适配】屏幕适配通用解决方案 ⑦ ( PercentRelativeLayout 百分比布局方案 | 该布局已废弃本方案仅做参考 )

    文章目录 一、PercentRelativeLayout 百分比布局方案 二、将输出结果设置到组件标签中 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 约束布局 bias...【约束布局】ConstraintLayout 屏幕适配案例 ( 使用代码生成约束布局控件属性 ) 博客 ; 约束布局百分比布局完整方案参考 【Android 屏幕适配】屏幕适配通用解决方案 ⑥ ( 约束布局...ConstraintLayout 百分比布局方案 | 将设计稿尺寸自动转为约束布局百分比标签属性 | 将输出结果设置到组件标签中 ) 博客 ; 一、PercentRelativeLayout 百分比布局方案...---- 使用如下程序 , 输入 PercentRelativeLayout 布局的 宽度 , 高度 // 给出中心点坐标,图片宽高,屏幕宽高,计算出该图片的位置 // 屏幕宽高 float...PercentRelativeLayout 布局中的子组件的标签属性 ; 完整代码如下 : public class BoundaryCaculate { public static void main

    29620

    Android 与 Chrome OS 中针对大屏幕设备的更新

    在以下场景中尤其要注意: 自行渲染界面元素或需要特定的窗口尺寸; 应用需要访问独占硬件设备,比如摄像头和麦克风。...设备的放置方式使屏幕的一部分处于舒适的观看角度,而屏幕的另一部分则放在平稳的台面上,使其非常适合各种交互元素。...开启新窗格时,之前创建的窗格将移至屏幕外。此示例中,如果现有分块显示 Activity A 和 B,而您需要将新的 Activity C 在一侧显示,则会创建第二个分块显示 B 和 C。...接下来我们聊聊在 Chrome 操作系统以及 Android 平板电脑和可折叠设备中避免应用出现在兼容模式中所需要做到的重要的几件事: △ 运行在开放形式模式充分利用屏幕空间 为不同的设备类型提供合适的大屏幕布局...在新的版本中可以利用 Activity 内嵌 和测试 API 进而简化大屏幕布局维护。 别忘了加入美观的大屏幕布局,并添加键盘、鼠标和其他输入支持。

    2.4K40

    Android 中屏幕点击事件的实现Android onTouchEvent, onClick及onLongClick的调用机制

    (keyCode, repeatCount, event); } Android onTouchEvent, onClick及onLongClick的调用机制 针对屏幕上的一个View控件,Android...在Android中,一次用户操作能够被不同的View按次序分别处理,并将全然响应了用户一次UI操作称之为消费了该事件(consume),那么Android是按什么次序将事件传递的呢?...仅仅有搞清楚事件触发和传递的机制才有可能保证在界面布局非常复杂的情况下,UI控件仍然能正确响应用户操作。 1....这三个事件标识出了最主要的用户触摸屏幕的操作,含义也非常清楚。...从Android的源码中能看到基于这样的不同重要性的理解而实现的一些交互机制,SDK中也有明白的提及,比如在ViewGroup的onInterceptTouchEvent方法中,假设在ACTION_DOWN

    3.7K30

    Android中图片大小和屏幕密度的关系讲解

    Android手机适配是非常让人头疼的一件事,尤其是图片,android为了做到是适配提供了很多文件夹来存放不同大小的图片,比如:drawable-ldpi、drawable-mdpi、drawable-hdpi...由此我们采用与分辨率无关的度量单位来开发程序就能够解决这个问题。Android应用开发支持不同的度量单位。 1.相关概念 屏幕密度:指的就是单位英寸面积上的像素点数,与分辨率是两个不同的概念。...的字号最好使用 sp 做单位,而且查看TextView的源码可知Android默认使用sp作为字号单位。...将dip作为其他元素的单位。...图片放在drawable中,等同于放在drawable-mdpi中,原因为:drawable目录不具有屏幕密度特性,所以采用基准值,即mdpi 图片放在某个特定drawable中,比如drawable-hdpi

    1.1K60

    Android中的像素密度,屏幕密度,屏幕大小,分辨率,ldpi,mdpi,xhdpi,xxhdpi

    大家好,又见面了,我是你们的朋友全栈君。 Android开发为适配不同屏幕需要在资源文件中添加多套图片或者多套布局文件,这篇文章讲解多套图片。...1屏幕大小 智能手机普及,屏幕也随之越来越大,从经典的iPhone 4的3.5英寸到iphone XR 6英寸多,Android手机也逐渐进入了6.x英寸行列。...android将实际的屏幕密度进行划分(low,medium,high,and extra high,extra extra high) 一般情况下的普通屏幕:ldpi是120dpi,mdpi是160dpi...,Android中获取的屏幕密度,不是对应屏幕真实的屏幕密度值,类似1280720和1290730都会被认为是720p的手机,屏幕密度都是2.0。...dp与px的转换 系统密度为160dpi的中密度手机屏幕为基准屏幕,即320×480的手机屏幕中,1dp=1px。

    6.1K41

    Android中的通知和自定义通知布局

    Android中的通知(Notification)是Android中的重要一部分,应用程序通过通知来提醒用户或者向用户传达信息,下面让我们来看一下怎么在我们的程序中使用通知和自定义通知的布局。...:text="发送第二种通知"/> 布局中的两个按钮分别用来发送系统布局的通知和我们自定义布局的通知,接下来是我们自定义的通知布局,新建一个布局文件notification.xml..."/> 这个布局中我们采用横向布局,用来模拟一个音乐播放器的横栏,两个按钮分别对应 播放/暂停,下一曲 。...,总体思路是对布局文件中的两个按钮进行事件处理,定义 notifyFirstNotification() 方法和 notifySecondNotification() 方法分别用于创建系统提供布局的通知和自定义布局的通知...言归正传,这个广播干什么用的呢:在自定义通知布局中我们要对两个按钮进行事件处理,在自定义通知布局中,我们必须使用RemoteViews的对象来对布局文件中的两个按钮进行事件处理,而 RemoteViews

    3.6K20

    js获取屏幕以及元素宽高的方法

    一.window相关 网页正文部分上:window.screenTop 网页正文部分左:window.screenLeft 屏幕分辨率的高:window.screen.height 屏幕分辨率的宽:...window.screen.width 屏幕可用工作区高度:window.screen.availHeight 屏幕可用工作区宽度:window.screen.availWidth 二.body相关...网页被卷去的高:document.body.scrollTop 网页被卷去的左:document.body.scrollLeft 三.滚动相关 scrollHeight: 获取对象的滚动高度。...scrollWidth: 获取对象的滚动宽度 document.documentElement.scrollTop 垂直方向滚动的值 四.位置精确定位 scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离...相对容器的水平坐标 event.offsetY 相对容器的垂直坐标 六.width/clientWidth/offsetWidth以及height之间区别 width是指可见内容的宽 height是指可见内容的高

    6.9K20

    【HTML】HTML5 元素布局的使用

    HTML 标签 定义和用法 可定义文档中的分区或节(division/section)。 标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。...如果用 id 或 class 来标记 ,那么该标签的作用会变得更加有效。 用法 是一个块级元素。这意味着它的内容自动地开始一个新行。实际上,换行是 固有的唯一格式表现。...可以对同一个 元素应用 class 或 id 属性,但是更常见的情况是只应用其中一种。...这两者的主要差异是,class 用于元素组(类似的元素,或者可以理解为某一类元素),而 id 用于标识单独的唯一的元素。...div元素布局 完整代码 规定各个模块样式,DIV可不用加 width代表宽度,height代表高度 ,background代表背景颜色, float代表排序方式, clear 清除左右排序让footing

    4K20
    领券