zoukankan      html  css  js  c++  java
  • Android开发--FrameLayout的应用

    1.简介

    frameLayout为框架布局,该布局的特点为层层覆盖,即最先放置的部件位于最下层,最后放置的部件位于最上层。

    2.构建

    如图所示,该视图中有五个TextView。其中,tv1放置在最底层,tv5放置在外层,即tv5将遮掩tv1的部分内容。

    我们让五个TextView不断变换颜色,形成霓虹灯的效果。

        

    xml:

     1 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:id="@+id/FrameLayout1"
     4     android:layout_width="match_parent"
     5     android:layout_height="match_parent"
     6     android:paddingBottom="@dimen/activity_vertical_margin"
     7     android:paddingLeft="@dimen/activity_horizontal_margin"
     8     android:paddingRight="@dimen/activity_horizontal_margin"
     9     android:paddingTop="@dimen/activity_vertical_margin"
    10     tools:context="example.framelayout.Activity1" >
    11 
    12     <TextView
    13         android:id="@+id/textView1"
    14         android:layout_width="300dp"
    15         android:layout_height="300dp"
    16         android:layout_gravity="center"
    17         android:text="@string/tv1" />
    18 
    19     <TextView
    20         android:id="@+id/textView2"
    21         android:layout_width="240dp"
    22         android:layout_height="240dp"
    23         android:layout_gravity="center"
    24         android:text="@string/tv2" />
    25 
    26     <TextView
    27         android:id="@+id/textView3"
    28         android:layout_width="180dp"
    29         android:layout_height="180dp"
    30         android:layout_gravity="center"
    31         android:text="@string/tv3" />
    32 
    33     <TextView
    34         android:id="@+id/textView4"
    35         android:layout_width="120dp"
    36         android:layout_height="120dp"
    37         android:layout_gravity="center"
    38         android:text="@string/tv4" />
    39 
    40     <TextView
    41         android:id="@+id/textView5"
    42         android:layout_width="60dp"
    43         android:layout_height="60dp"
    44         android:layout_gravity="center"
    45         android:text="@string/tv5" />
    46 </FrameLayout>

    3.代码

     1 public class Activity1 extends Activity implements Runnable{
     2     //定义五种颜色
     3     private int colors[]=new int[]{0xFF6495ED,0xFFEE82EE,0xFFFF69B4,0xFF6495ED,0xFF0000FF};
     4     //为每一种颜色定义索引
     5     private int nextcolor[]= new int[] {1,2,3,4,0};
     6     //定义当前颜色值的索引
     7     private int currentcolor=0;
     8     //handler
     9     private Handler handler;
    10     //声明五个TextView
    11     private View views[];
    12     
    13     @Override
    14     public void run() {
    15         int indexcolor=currentcolor;
    16         for(int i=views.length-1;i>=0;i--){
    17             views[i].setBackgroundColor(colors[nextcolor[indexcolor]]);
    18             indexcolor=nextcolor[indexcolor];
    19         }
    20         //为TextView的下一颜色做准备,indexcolor将为1,此时所有TextView将出现不同鱼第一次的颜色。
    21         currentcolor++;
    22         //由于数组长度为5,为防止数组越界,即出现nextcolor[5]的情况,需要让currentcolor重新开始。
    23         if(currentcolor==5)
    24                 currentcolor=0;
    25         //启动handler,延时300ms
    26         handler.postDelayed(this, 300);
    27     }            
    28     @Override
    29     protected void onCreate(Bundle savedInstanceState) {
    30         setContentView(R.layout.act1);
    31         //将TextView与ID匹配
    32         views=new View[] {findViewById(R.id.textView5),findViewById(R.id.textView4),
    33             findViewById(R.id.textView3),findViewById(R.id.textView2),
    34             findViewById(R.id.textView1)};
    35         handler=new Handler();
    36         //启动handler,延时300ms
    37         handler.postDelayed(this, 300);
    38     }

    3.展示

  • 相关阅读:
    javaweb基础(33)_jdbc的crud操作
    javaweb基础(32)_jdbc学习入门
    javaweb基础(31)_国际化(i18n)
    javaweb基础(30)_EL函数库
    javaweb基础(29)_EL表达式
    javaweb基础(28)_jstl的核心标签
    javaweb基础(27)_jsp标签库实例
    javaweb基础(26)_jsp标签库开发二
    javaweb基础(25)_jsp标签实例一
    选择之难
  • 原文地址:https://www.cnblogs.com/jfl-xx/p/5184704.html
Copyright © 2011-2022 走看看