【Android】使用FrameLayout布局实现霓虹灯效果
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布局实现霓虹灯效果相关推荐
- Android:使用帧布局实现霓虹灯效果
最终目的: 使用帧布局实现霓虹灯效果,要求用到线程,能显示变换不同的颜色的霓虹灯动画效果. 效果图 布局文件 主布局文件运用了FrameLayout布局和七个不同大小的TextView,内容居中显示, ...
- android霓虹灯跑的动画,Android手机显示多彩霓虹灯效果
利用之前学过的多线程处理技术,我们做一个利用Android手机显示一个多彩霓虹灯效果的小实例. 布局文件,这里只留有加了id的线性布局文件 res/layout/mian.xml: xmlns:too ...
- android的帧布局,七、Android帧布局FrameLayout和霓虹灯效果
帧布局容器为每个加入其中的组件创建一个空白的区域(称为一帧),所有每个子组件占据一帧,这些帧都会根据gravity属性执行自动对齐. FrameLayout的常用XML属性和相关方法 XML属性 相关 ...
- android中帧布局效果,Android开发实现布局帧布局霓虹灯效果示例
本文实例讲述了android开发实现布局帧布局霓虹灯效果.分享给大家供大家参考,具体如下: 效果图: 实现方式: framelayout中,设置8个textview,在主函数中,设计颜色数组,通过有序 ...
- java多线程霓虹灯,Android开发实现布局帧布局霓虹灯效果示例
本文实例讲述了Android开发实现布局帧布局霓虹灯效果.分享给大家供大家参考,具体如下: 效果图: 实现方式: FrameLayout中,设置8个TextView,在主函数中,设计颜色数组,通过有序 ...
- Android TextView设置多样式文本,跑马灯以及霓虹灯效果
1.设置TextView字体颜色 1)使用Html标签方式设置 代码如下: tvTest1.setText(Html.fromHtml("电影<font color = blue> ...
- Android横向伸缩,Android 实现伸缩布局效果示例代码
最近项目实现下面的图示的效果,本来想用listview+gridview实现,但是貌似挺麻烦的于是就用flowlayout 来addview实现添加伸缩的效果,实现也比较简单. mainActivit ...
- 【小5聊】使用js+css+div布局方式画一棵圣诞树,带闪烁霓虹灯效果
虽然jQuery时代已经逐渐退出历史舞台,在拥抱vue的同时,也还是可以用jQuery锻炼下编程思维,毕竟比较灵活. 1.适合基础入门的前端小伙伴 2.适合使用jQuery锻炼实现前端效果小伙伴 3. ...
- android自定义radiogroup,Android 自定义View实现任意布局的RadioGroup效果
前言 RadioGroup是继承LinearLayout,只支持横向或者竖向两种布局.所以在某些情况,比如多行多列布局,RadioGroup就并不适用 . 本篇文章通过继承RelativeLayout ...
最新文章
- 读自动驾驶激光雷达物体检测技术(Lidar Obstacle Detection)(3):Segmentation
- 没有功能需求设计文档?对不起,拒绝开发!
- Android 网络连接--Wifi/3G
- php图形界面框架,python GUI 图形化界面框架的选择
- 美国本科计算机科学,美国本科计算机科学就业情况分析
- Linux 进程通信之FIFO
- [react] react中你用过哪些第三方的中间件
- 活动目录管理中常用的脚本(一)
- 诗与远方:无题(十一)
- Android 手机不赚钱为啥还要做
- Flex+BlazeDs+Java的教程及Demo
- 2月第4周回顾:IT求职困惑不少 虚拟化热点不断
- 腾讯微博-转播到微博的简单使用
- 2014/2015年Mac Pro连接LG Ultra HD显示器刷新率低(30Hz)问题解决
- c语言printf()输出格式大全(转载)
- 计算机技术对高分子的意义,计算机技术在高分子材料工程中的应用.docx
- win中q-dir,everything,Windows Tabs,Clover各种效率神器(搜索,资源管理器,多标签)
- mysql 子查询怎么写_MySQL中两种子查询的写法
- 云服务器添加交换分区
- 深圳租房数据可视化分析【Plotly库绘图】