该楼层疑似违规已被系统折叠隐藏此楼查看此楼
这是我用Android Studio做的霓虹灯,总是不对。请各位大大给点意见啊!!!
package com.example.admin.helloworld;
import android.annotation.SuppressLint;
import android.os.Handler;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import android.os.Message;
import java.util.Timer;
import java.util.TimerTask;
/**
* 霓虹灯
*/
public class Main extends AppCompatActivity {
//存TextView的ID
private int[] textIds=new int[]{
R.id.text01,
R.id.text02,
R.id.text03,
R.id.text04,
R.id.text05};
//存颜色
private int[] colors=new int[]{
R.color.color_1,
R.color.color_2,
R.color.color_3,
R.color.color_4,
R.color.color_5};
//绑定控件用的TextView的数组
private TextView[] views=new TextView[textIds.length];
private int currentColorPointer=0;//从哪个颜色开始
static Handler handler;
@SuppressLint("HandlerLeak")
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.neonlight);
for (int i = 0; i < textIds.length; i++) {
views[i] = findViewById(textIds[i]);
}
//创建Handler对象,用于接收消息并处理
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
//判断消息是否为指定消息
if (msg.what == 0x11) {
for (int i = 0; i < views.length; i++) {
views[i].setBackgroundColor(colors[Math.abs(i + currentColorPointer)%textIds.length]);
}
// currentColorPointer = (currentColorPointer + 1) % colors.length;
currentColorPointer++;
}
super.handleMessage(msg);
}
};
Timer timer = new Timer(); //创建定时器对象
timer.schedule(new TimerTask() {
@Override
public void run() {
handler.sendEmptyMessage(0x11);
}
}, 0, 300); //每隔300s发送一次消息
}
}
XML文件
android:layout_width="match_parent"
android:layout_height="match_parent">
android:id="@+id/text01"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_gravity="center"
android:background="@color/color_1" />
android:id="@+id/text02"
android:layout_width="240dp"
android:layout_height="240dp"
android:layout_gravity="center"
android:background="@color/color_2"/>
android:id="@+id/text03"
android:layout_width="180dp"
android:layout_height="180dp"
android:layout_gravity="center"
android:background="@color/color_3" />
android:id="@+id/text04"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:background="@color/color_4"/>
android:id="@+id/text05"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:background="@color/color_5" />
颜色的XML文件
#3F51B5
#303F9F
#FF4081
#f00
#0f0
#00f
#ff0
#f0f