zoukankan      html  css  js  c++  java
  • FrameLayout--霓虹灯

    主函数里面,新建一个线程,控制改变背景色

    package com.example.framelayout
    
    import android.support.v7.app.AppCompatActivity
    import android.os.Bundle
    import android.os.Handler
    import android.os.Message
    import android.widget.TextView
    import java.lang.ref.WeakReference
    import java.util.*
    
    class MainActivity : AppCompatActivity() {
    
        internal val names = intArrayOf(R.id.view01,R.id.view02,R.id.view03,R.id.view04,R.id.view05,R.id.view06)
        private var views = arrayOfNulls<TextView>(names.size)
        private var handler:Handler = MyHandler(WeakReference(this))
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    
            for(i in names.indices)
            {
                views[i]=findViewById(names[i])
            }
            //定义一个线程,周期改变textView的背景色
            Timer().schedule(object:TimerTask()
            {
                override fun run()
                {
                    //发送一条消息通知系统改变背景色
                    handler.sendEmptyMessage(0x123)
                }
            },0,200)
        }
        class MyHandler(private val activity: WeakReference<MainActivity>):Handler()
        {
            private var cur =0
            //定义一个颜色数组
            internal var colors = intArrayOf(R.color.color1,
                R.color.color2,
                R.color.color3,R.color.color4,R.color.color5,R.color.color6)
    
            override fun handleMessage(msg: Message?) {
                if(msg?.what==0x123)
                {
                    for(i in activity.get()?.names?.indices!!)
                    {
                        activity.get()?.views!![i]?.setBackgroundResource(colors[(i+cur)%colors.size])
    
    
                    }
                    cur++
                }
                super.handleMessage(msg)
            }
        }
    }
    View Code

    界面代码是这样的,使用FrameLayout布局

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
        <TextView
                android:id="@+id/view01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:width="320dp"
                android:height="320dp"
                android:background="@color/color1"
        />
        <TextView
                android:id="@+id/view02"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:width="280dp"
                android:height="280dp"
                android:background="@color/color2"
        />
        <TextView
                android:id="@+id/view03"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:width="240dp"
                android:height="240dp"
                android:background="@color/color3"
        />
        <TextView
                android:id="@+id/view04"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:width="200dp"
                android:height="200dp"
                android:background="@color/color4"
        />
        <TextView
                android:id="@+id/view05"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:width="160dp"
                android:height="160dp"
                android:background="@color/color5"
        />
        <TextView
                android:id="@+id/view06"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:width="120dp"
                android:height="120dp"
                android:background="@color/color5"
        />
    </FrameLayout>
    View Code

  • 相关阅读:
    Codeforces Round #709 (Div. 2, based on Technocup 2021 Final Round)
    Codeforces Round #708 (Div. 2)
    Educational Codeforces Round 106 (Rated for Div. 2)
    ccf csp 202012-1
    带配额的文件系统 (带模拟)
    阔力梯的树
    Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics)
    如何获取某个网站IP地址?
    C++开发者眼中的Java关键字abstract
    Java代码中如何获文件名和行号等源码信息?
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/11422161.html
Copyright © 2011-2022 走看看