位置: 编程技术 - 正文

Android基础入门教程——2.2.4 FrameLayout(帧布局)(android基础入门教程)

编辑:rootadmin
Android基础入门教程——2.2.4 FrameLayout(帧布局)

推荐整理分享Android基础入门教程——2.2.4 FrameLayout(帧布局)(android基础入门教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android新手入门,android基础教程,android基础入门书籍推荐,android基础入门实列,android基础入门书籍推荐,android基础入门教程,android基础入门实列,android基础入门书籍推荐,内容如对您有帮助,希望把文章链接给更多的朋友!

标签(空格分隔): Android基础入门教程

本节引言:

FrameLayout(帧布局)可以说是六大布局中最为简单的一个布局,这个布局直接在屏幕上开辟出 一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,而这种布局方式 却没有任何的定位方式,所以它应用的场景并不多;帧布局的大小由控件中最大的子控件决定,如果控件 的大小一样大的话,那么同一时刻就只能看到最上面的那个组件!后续添加的控件会覆盖前一个! 虽然默认会将控件放置在左上角,但是我们也可以通过layout_gravity属性,指定到其他的位置! 本节除了给大家演示一个最简单的例子外,还给大家带了两个好玩的例子,有兴趣的可以看看!

1.常用属性

FrameLayout的属性很少就两个,但是在说之前我们先介绍一个东西: 前景图像:永远处于帧布局最上面,直接面对用户的图像,就是不会被覆盖的图片 两个属性: android:foreground:设置改帧布局容器的前景图像 android:foregroundGravity:设置前景图像显示的位置

2.实例演示1)最简单的例子

运行效果图:

实现代码如下:

代码解析:

很简单,三个TextView设置不同大小与背景色,依次覆盖,接着右下角的是前景图像,通过 android:foreground=”@drawable/logo”设置前景图像的图片 android:foregroundGravity=”right|bottom”设置前景图像的位置在右下角

2)随手指移动的萌妹子

效果图如下:

实现流程解析:

step 1:先将main.xml布局设置为空白的FrameLayout,为其设置一个图片背景 step 2:新建一个继承View类的MeziView自定义组件类,在构造方法中初始化view的初始坐标 step 3:重写onDraw()方法,实例化一个空的画笔类Paint step 4:调用BitmapFactory.decodeResource()生成位图对象 step 5:调用canvas.drawBitmap()绘制妹子的位图对象 step 6:判断图片上是否回收,否则强制回收图片 step 7:在主Java代码中获取帧布局对象,并且实例化一个MeziView类 step 8:会实例化的mezi对象添加一个触摸事件的监听器,重写onTouch方法,改变mezi的X,Y坐标,调用invalidate()重绘方法 step 9: 将mezi对象添加到帧布局中 Android基础入门教程——2.2.4 FrameLayout(帧布局)(android基础入门教程)

实现代码如下: 布局代码:main_activity.xml

自定义的MeziView.java

MainActivity.java:

代码解释: 见步骤,很简单,就是自定义一个View类,重写重绘方法,接着在Activity中为他添加一个触摸时间 在触摸时间中重写onTouch方法获取点击焦点,另外还需要-,不然那个坐标是自定义View的 左上角,接着调用invalidate( )重绘方法,最后添加到帧布局中而已! 代码下载:

3)跑动的萌妹子

效果图如下:

实现流程:

step 1:定义一个空的FrameLayout布局,将前景图像的位置设置为中央位置 step 2:在Activity中获取到该FrameLayout布局,新建一个Handler对象,重写handlerMessage()方法,调用图像- 更新的方法 step 3:自定义一个move()方法,通过switch动态设置前景图片显示的位图 step 4:在onCreate()方法中新建一个计时器对象Timer,重写run方法,每隔毫秒向handler发送空信息

实现代码如下:

布局文件:main_activity.xml:

MainActivity.java:

代码解析: 代码也很简单,就是定义一个handler对象来刷新帧布局的前景图像,定义一个Timer定时器 每隔毫秒发送定时信息,i++;move(i%8);这里是因为我们使用8个图片作为动画素材! 代码下载: 帧布局比前面的表格布局用得稍微多一点!有兴趣可以像笔者这样写点小例子试试!

版权声明:本文为博主原创文章,未经博主允许不得转载。

fragment 状态保存时怎么执行一些需要在onResume、onPause方法里面运行的东西 fragmentAreplace到fragmentB后,再返回fragmentA,就等于重新加载了一次fragmentA是保存不了fragmentA原来的状态的hide和show方法是可以保存fragmentA的状态,但是他

Android基础入门教程——2.2.5 GridLayout(网格布局) Android基础入门教程——2.2.5GridLayout(网格布局)标签(空格分隔):Android基础入门教程本节引言:今天要介绍的布局是Android4.0以后引入的一个新的布局,

Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用 转载请注明本文出自xiaanming的博客(

标签: android基础入门教程

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

上一篇:Android基础入门教程——2.2.3 TableLayout(表格布局)(android基础知识点)

下一篇:fragment 状态保存时怎么执行一些需要在onResume、onPause方法里面运行的东西(fragment切换保存状态)

  • 注册资本金入账需要缴税么
  • 预算会计无偿调拨净资产
  • 开发支出在资产负债表是怎
  • 电子税务局怎么登录
  • 工程机械租赁增值税税率很多适用错误应该是9不是13
  • 稿费计入成本怎么做账
  • 其他债权投资公允价值变动影响摊余成本吗
  • 养老失业工伤单位一般缴纳多少钱
  • 非独立核算分公司企业所得税
  • 广告费可以预提吗
  • 用银行存款上交上月税金会计分录
  • 购买方退货的会计处理
  • 公司持有的房产税
  • 银行发行理财产品的条件
  • 咨询案例模板
  • 建安发票税率是多少2011年
  • 报税没有报怎么办
  • 增值税税负的概念和如何确定税负
  • 销售开发后的产品
  • 收取技术服务费
  • 外贸企业支付境外佣金
  • 固定资产预计净残值最后怎么处理
  • 通行费进项税额抵扣金额填在哪里?
  • 纳税能力体现的内容
  • 甲供材料如何纳税
  • 关于房屋租赁备案的通知
  • 注册表关闭微软yes改成no
  • 财务红冲是什么意思
  • win10重启按什么键重置
  • sgbhp.exe - sgbhp是什么进程 有什么用
  • 不合规发票入账违反了什么纪律
  • 增值税税率调整为13%的文件
  • laravel 5.4中实现无限级分类的方法示例
  • php正则函数内容匹配
  • php编辑器哪个好
  • uniapp开发常用案例
  • 利息收入如何会计分录
  • 看了这篇文章感触很深的说说
  • ICLR‘23 UnderReview | LightGCL: 简单而有效的图对比学习推荐系统
  • 百度文心一言对未来商业的影响
  • 销售费用的主要类型有哪些
  • phpcms怎么用
  • 企业销售旧固定资产税票开票
  • 小规模纳税人定义
  • 建筑企业其他应付款包含什么内容
  • 淘宝企业店必须绑定对公账户吗
  • 公司食堂开支如何记账
  • 解决问题对吗
  • python中的参数传递
  • 归属于母公司所有者权益合计
  • 企业付的房租税费会计分录
  • 未确认融资费用借贷方向
  • 维修设备增值税税率
  • 外出经营一定要开
  • 逾期的押金计入什么科目
  • 工会经费计提按照应发工资还是实发工资
  • 发票保管应由谁保管
  • 税局关于企业费用报销
  • 购买办公软件的进项发票可以抵扣吗
  • 结转本月销售材料成本
  • 银行存款实际余额不足
  • 卡片式账簿的优点是能够避免账页散失
  • mysql两者之间
  • 判断某个字段的值是否在指定的范围内
  • ie标签页
  • ubuntu笔记软件
  • windows定时关机计划
  • ubuntu下安装windows
  • Linux桌面环境安装
  • mac上安装
  • rtos用什么语言
  • sdstat.exe - sdstat是什么进程 有什么用
  • win7系统怎么设置屏保图片
  • nginx react
  • js弹出层效果
  • android怎么保存项目
  • python函数经典例程
  • 手机运行node.js
  • python crc
  • jquery 插件编写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设