FrameLayout是五大布局中最简单的一个布局。

在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置。

它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。

显示效果如下,第一个TextView被第二个TextView完全遮挡,第三个TextView遮挡了第二个TextView的部分位置。

我们可以利用这个FrameLayout布局的特性实现一个简单的霓虹灯效果。

Activity代码

package com.app.test01;import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;public class FrameLayoutActivity extends Activity implements Runnable{//定义5个颜色值private int[] colors = new int[]{0xFFFF0000,0xFF0000FF,0xFF00FFFF,0xFFFF00FF,0xFF00FF00};//每一个颜色值的索引private int[] nextColorPoints = new int[]{1,2,3,4,0};//当前值的索引private int currentColorPoint = 0;private View[] views;private Handler handler;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_frame);views = new View[]{findViewById(R.id.textView5),findViewById(R.id.textView4),findViewById(R.id.textView3),findViewById(R.id.textView2),findViewById(R.id.textView1)};handler = new Handler();handler.postDelayed(this, 300);}@Overridepublic void run() {// TODO Auto-generated method stubint nextColorPoint = currentColorPoint;for (int i = views.length-1; i>=0; i--) {views[i].setBackgroundColor(colors[nextColorPoint]);nextColorPoint = nextColorPoints[nextColorPoint];}currentColorPoint++;if (currentColorPoint == 5) {currentColorPoint = 0;}handler.postDelayed(this, 300);}
}

布局文件

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><TextViewandroid:id="@+id/textView1"android:layout_width="300dp"android:layout_height="300dp"android:text="TextView" android:layout_gravity="center"/><TextViewandroid:id="@+id/textView2"android:layout_width="240dp"android:layout_height="240dp"android:text="TextView" android:layout_gravity="center"/><TextViewandroid:id="@+id/textView3"android:layout_width="180dp"android:layout_height="180dp"android:text="TextView" android:layout_gravity="center"/><TextViewandroid:id="@+id/textView4"android:layout_width="120dp"android:layout_height="120dp"android:text="TextView" android:layout_gravity="center"/><TextViewandroid:id="@+id/textView5"android:layout_width="60dp"android:layout_height="60dp"android:text="TextView" android:layout_gravity="center"/></FrameLayout>

效果图

【Android】使用FrameLayout布局实现霓虹灯效果相关推荐

  1. Android:使用帧布局实现霓虹灯效果

    最终目的: 使用帧布局实现霓虹灯效果,要求用到线程,能显示变换不同的颜色的霓虹灯动画效果. 效果图 布局文件 主布局文件运用了FrameLayout布局和七个不同大小的TextView,内容居中显示, ...

  2. android霓虹灯跑的动画,Android手机显示多彩霓虹灯效果

    利用之前学过的多线程处理技术,我们做一个利用Android手机显示一个多彩霓虹灯效果的小实例. 布局文件,这里只留有加了id的线性布局文件 res/layout/mian.xml: xmlns:too ...

  3. android的帧布局,七、Android帧布局FrameLayout和霓虹灯效果

    帧布局容器为每个加入其中的组件创建一个空白的区域(称为一帧),所有每个子组件占据一帧,这些帧都会根据gravity属性执行自动对齐. FrameLayout的常用XML属性和相关方法 XML属性 相关 ...

  4. android中帧布局效果,Android开发实现布局帧布局霓虹灯效果示例

    本文实例讲述了android开发实现布局帧布局霓虹灯效果.分享给大家供大家参考,具体如下: 效果图: 实现方式: framelayout中,设置8个textview,在主函数中,设计颜色数组,通过有序 ...

  5. java多线程霓虹灯,Android开发实现布局帧布局霓虹灯效果示例

    本文实例讲述了Android开发实现布局帧布局霓虹灯效果.分享给大家供大家参考,具体如下: 效果图: 实现方式: FrameLayout中,设置8个TextView,在主函数中,设计颜色数组,通过有序 ...

  6. Android TextView设置多样式文本,跑马灯以及霓虹灯效果

    1.设置TextView字体颜色 1)使用Html标签方式设置 代码如下: tvTest1.setText(Html.fromHtml("电影<font color = blue> ...

  7. Android横向伸缩,Android 实现伸缩布局效果示例代码

    最近项目实现下面的图示的效果,本来想用listview+gridview实现,但是貌似挺麻烦的于是就用flowlayout 来addview实现添加伸缩的效果,实现也比较简单. mainActivit ...

  8. 【小5聊】使用js+css+div布局方式画一棵圣诞树,带闪烁霓虹灯效果

    虽然jQuery时代已经逐渐退出历史舞台,在拥抱vue的同时,也还是可以用jQuery锻炼下编程思维,毕竟比较灵活. 1.适合基础入门的前端小伙伴 2.适合使用jQuery锻炼实现前端效果小伙伴 3. ...

  9. android自定义radiogroup,Android 自定义View实现任意布局的RadioGroup效果

    前言 RadioGroup是继承LinearLayout,只支持横向或者竖向两种布局.所以在某些情况,比如多行多列布局,RadioGroup就并不适用 . 本篇文章通过继承RelativeLayout ...

最新文章

  1. 读自动驾驶激光雷达物体检测技术(Lidar Obstacle Detection)(3):Segmentation
  2. 没有功能需求设计文档?对不起,拒绝开发!
  3. Android 网络连接--Wifi/3G
  4. php图形界面框架,python GUI 图形化界面框架的选择
  5. 美国本科计算机科学,美国本科计算机科学就业情况分析
  6. Linux 进程通信之FIFO
  7. [react] react中你用过哪些第三方的中间件
  8. 活动目录管理中常用的脚本(一)
  9. 诗与远方:无题(十一)
  10. Android 手机不赚钱为啥还要做
  11. Flex+BlazeDs+Java的教程及Demo
  12. 2月第4周回顾:IT求职困惑不少 虚拟化热点不断
  13. 腾讯微博-转播到微博的简单使用
  14. 2014/2015年Mac Pro连接LG Ultra HD显示器刷新率低(30Hz)问题解决
  15. c语言printf()输出格式大全(转载)
  16. 计算机技术对高分子的意义,计算机技术在高分子材料工程中的应用.docx
  17. win中q-dir,everything,Windows Tabs,Clover各种效率神器(搜索,资源管理器,多标签)
  18. mysql 子查询怎么写_MySQL中两种子查询的写法
  19. 云服务器添加交换分区
  20. 深圳租房数据可视化分析【Plotly库绘图】

热门文章

  1. 桥梁在线监测系统详解
  2. 机械臂速成小指南(十八):圆弧规划
  3. vantui上传图片
  4. axios----异步请求的库
  5. Excel 2010 SQL应用037 满足两个条件之一的查询
  6. word关闭未响应_如何实现Word文档中的引号变成对的中文引号
  7. Magic boy Bi Luo with his excited tree
  8. 来自 ChatGPT 的威胁?谷歌、百度纷纷入局,苹果被迫“开卷”
  9. 生产级实践之集群搭建方案系列-PostgreSQL主从部署搭建与配置
  10. 推荐给你这几款好用的时间管理软件