位置: 编程技术 - 正文

(二)安卓android游戏开发之2048游戏开发教程----深刻理解LinearLayout布局(.android)

编辑:rootadmin
(二)安卓android游戏开发之游戏开发教程----深刻理解LinearLayout布局作者:林子时间:年8月日出处: 请参考: LinearLayout是安卓系统里面最基础最重要的一种布局,也叫线性布局,其他的布局跟线性布局只有一些细微的区别.学好了线性布局,其他的布局方式也能很快掌握。

推荐整理分享(二)安卓android游戏开发之2048游戏开发教程----深刻理解LinearLayout布局(.android),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android2,andriond,android2,android2,android2,andrios,.android,android 安卓,内容如对您有帮助,希望把文章链接给更多的朋友!

2、什么是线性布局?

线性布局是一种所有控件在一条线上的容器(ViewGroup).

这里线性很重要,一定要理解为什么叫线性.

PS: ViewGroup是什么意思呢? ViewGroup就是能容纳各种控件的容器,所以你在线性布局里面能一起放进去TextView、button等容器.

这里整个图设置为线性布局,高度为整个屏幕的高度,里面有三个控件,只是宽度所占用的比例不同,源代码如下:

3、线性布局最重要的属性! android:orientation

因为线性布局是一种控件在一条线上的ViewGroup, 因此这条线可以是水平方向和垂直方向的,你可以修改 android:orientation 属性来修改这个线性方向.

一旦选好了方向,比如说水平方向,那么控件只能一个一个能左到右堆放。布局的高度为其包含的控件中最高的控件的高度,宽度则没有限制。

上面的方向是水平走向的,那么我们再来一个垂直走向的。

源代码如下

4、线性布局第二重要的属性android:weight

线性布局还可以通过指定android:weight为控件选择比重,这个属性指明了该控件在屏幕中显示的“重要程度”.比重&#;大的优先铺满剩下的容器.

为什么说比重大的优先铺满剩下的容器?

一般来说我们不用刻意去了解这个事情,但是在某些特殊情况下会起到关键的作用,所以我们这里只需要了解就可以了。

假设第1第2个控件的比重为1,第3个控件的比重为2,我们先看看效果.

那么现在的意思是第3个控件比其他两个控件更重要,然后测量所有控件该占的宽度,设宽度,前面两个控件占宽度,然后在两个控件的右边显示浅蓝色的控件3,最后再根据前两个控件占的比重,求出分别占用的比例,在剩下的空间里把俩控件画出来。

5、为什么不在线性布局的线性方向上使用match_parent或fill_parent?

首先先说明一个事情就是推荐使用match_parent而不用fill_parent,因为在API 8开始谷歌就开始使用match_parent来替代fill_parent了,他们俩实现的功能完全一样,在新版本仍然兼容fill方法,但是不推荐使用了。

(二)安卓android游戏开发之2048游戏开发教程----深刻理解LinearLayout布局(.android)

而谷歌推荐的呢就是采用"0dp"或者"wrap_content"(恰好包住内容)的方法来设置宽度,这样的话就是按正常的逻辑来生成布局的。

接下来我们就来说明一下为什么不使用match_parent!!

我们先给一段代码:

看&#;跟上一段代码很像,就是把wrap_content改成match_content,比重设置不变,照理说应该还是上面那效果,但事实完全相反

这是为什么呢?这好像在背口决一样,选match_parent时比重大的占比例小,小的占的多。

事实是这样子的,我没读过源码,但是根据网上搜索的一些资料,我推测出谷歌给出的这个数学模型应该是这个样子的。

Li指第i个控件的真实宽度,Lw是指控件测量时候的宽度,R是指布局剩下的宽度,Wi指各个控件的比重&#;,那么在这里设屏幕的宽度L=,那么既然选择了match_parent,则Lw=;R=L-(L&#;L&#;L)=-2L;w1=1,w2=2,w3=2,w1&#;w2&#;w3=5;所以第一个控件宽度为L1=L&#;(-2L)*(1/5)=-(2/5)*=(3/5)*=.剩下的平分,所以控件的真实比重为::=3:1:1.

再举一个例子,如果不是match_parent

效果如下

那么会发现虽然采用了wrap_parent,但是并没有恰好包裹控件,这是因为宽度是在原来的基础上还要加上剩余的空间的比例.

设屏幕为,文字也就是控件本来的宽度占了,剩下的宽度为那么由Li=Lw&#;R*(wi/w1&#;w2&#;w3)=&#;*(1/5)=.

剩下的俩控件宽度分别为(/)=.

6、最后生成游戏布局效果如下:

先是建立一行水平的线性布局,剩下的空间全部由表&#;布局填满。

逆向教程->.版电信爱游戏支付分析 最近几个月接触到Android软件逆向原软件地址:

Android游戏开发之Cocos2d-android-1 安装运行 (一) 大家好,前不久我刚看了千锋的Android游戏开发,在这里我来和大家分享一下我所学到的。1、首先通过github找到

NDK的OpenGLes2.0 官方例子解析 提要NDK自带了一个OpenGLes的例子,下面就一起来学习一下。环境:Ubuntu.NDKrADT.AndroidNativeDevelopmentTools8.注:在ubuntu的adt需要手动安装AndroidNativeDeve

标签: .android

本文链接地址:https://www.jiuchutong.com/biancheng/371257.html 转载请保留说明!

上一篇:一系列优秀的Android开发资料

下一篇:逆向教程->2014.08版电信爱游戏支付分析(逆向教程推荐知乎)

  • 公司申报房产税 土地取得时间怎么写的
  • 公司税务注销流程是否要不发生业务多久
  • 计提印花税如何计算
  • 什么叫风险纳税人员
  • 从厂家拿货怎么谈价格
  • 控股股东无偿捐赠
  • 纳税申报的流程如何?面试怎么说
  • 发放代扣代缴个人所得税分录
  • 押金计入什么费用
  • 应付职工薪酬如何填列
  • 投标人认证证书
  • 单位买另一单位银行承兑汇怎样入账?
  • 多收账款怎么账务处理
  • 企业承担个人所得税的规定
  • 预缴税款怎么操作
  • 加计扣除需要注意的几大风险点
  • 个税没有扣除项,需要填写和确认吗
  • 上月开的销项专票如何做废?
  • 淘宝无票采购账务处理
  • 年薪制12个月的计算公式
  • 政策性减免单位社保
  • 出口货物退免税凭证资料应当保存几年
  • 现在就是去年
  • 固定资产弃置费怎么算
  • linux虚拟机在哪里输入命令
  • windowsmodulesinstaller占用cpu
  • PHP:mb_ereg_replace()的用法_mbstring函数
  • php扩展编写
  • linux swap 0
  • 收到专利补助费的会计处理
  • win10设置待机时间长怎么在哪里设置
  • 智能路由器五个灯一直闪
  • echarts3d地图
  • 摇篮山圣克莱尔湖国家公园
  • 融资租赁的两种基本形式
  • 如何做好零售商
  • 财政补贴是解决什么问题的
  • 接受投资收到的现金计入
  • 通过云服务器租号安全吗
  • uniapp h5路由模式
  • php教程从入门到精通
  • 建筑业的印花税是按含税还是不含税?
  • 旅行发票可以做账吗
  • 待抵扣进项税额的分录
  • 帝国cms8.0版
  • 投资性房地产在资产负债表中的列示
  • 预计资产负债表和预计利润表构成了整个财务预算
  • 个税代扣代缴手续费返还需要缴纳增值税吗
  • 建筑安装增值税纳税地点
  • 其他债权投资的汇兑差额计入什么科目
  • 以下船舶可在公海上行驶登陆权
  • 报销差旅费会计分录退回现金
  • 普通发票可以扣除吗
  • 电子承兑汇票到期网银上怎么操作
  • 稳定用工社保补贴怎么领
  • 会计做内账的技巧与方法
  • mysql导入数据语句
  • MySQL数据库开发技术电子版
  • windowsxp教程
  • Office 2007在Windows Vista中出现的反常字体问题的解决办法
  • linux promisc
  • 升级到xp系统以后怎么办
  • 硬盘安装win8.1
  • windowsxpdos命令
  • linux内核的作用
  • win7系统关闭自动休眠
  • win8.1 应用商店是不是不能用了
  • win10系统声音怎么打开
  • 在linux系统中创建用户账户
  • Cocos2dx3.2 Crazy Tetris 由于遮罩引起的部分手机白屏
  • perl中打开文件
  • Node.js中的包管理工具是什么
  • javascript 日期
  • android应用层是什么
  • 谈谈我对中国传统文化的理解
  • 如何用jquery
  • 换发票需要交钱吗
  • 小规模纳税人30万免税政策
  • 香水与香精有啥不一样
  • 土地增值税清算管理规程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设