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.展示

  • 相关阅读:
    HDU 5818 Joint Stacks
    HDU 5816 Hearthstone
    HDU 5812 Distance
    HDU 5807 Keep In Touch
    HDU 5798 Stabilization
    HDU 5543 Pick The Sticks
    Light OJ 1393 Crazy Calendar (尼姆博弈)
    NEFU 2016省赛演练一 I题 (模拟题)
    NEFU 2016省赛演练一 F题 (高精度加法)
    NEFU 2016省赛演练一 B题(递推)
  • 原文地址:https://www.cnblogs.com/jfl-xx/p/5184704.html
Copyright © 2011-2022 走看看