android 屏幕测试程序 测试R G B三色 和 全黑, 全白5种状态

本文介绍了一个简单的Android应用程序,该程序通过触摸屏幕来改变TextView背景颜色,实现了五种不同颜色之间的循环切换,并展示了如何设置Activity及响应点击事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.布局文件:activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    >
    <TextView 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:id="@+id/myText"/>
</RelativeLayout>


2.Activity视图文件:

package com.wh.lcdtest;


import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.TextView;
/**
 * @author wh
 * @Date 2012-08-07
 * @version V0.0
 */
public class MainActivity extends Activity implements OnClickListener{


TextView myTextView;
int flag;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myTextView = (TextView) findViewById(R.id.myText);
        myTextView.setText("欢迎使用屏幕测试程序!!请点击屏幕开始测试!!");
        myTextView.setTextColor(Color.WHITE);
        myTextView.setOnClickListener(this);
        flag=1;
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    public void onClick(View view){
    
    String mStr="LCD TEST!!";
    System.out.println(mStr);
    myTextView.setText("");


    flag = flag%5;
    
    switch(flag)
    {
  case 0:
  myTextView.setBackgroundColor(Color.WHITE); break;
 
  case 1:
 myTextView.setBackgroundColor(Color.RED); break;
 
  case 2:
  myTextView.setBackgroundColor(Color.GREEN); break;
  
  case 3:
  myTextView.setBackgroundColor(Color.BLUE); break;
 
  case 4:
  myTextView.setBackgroundColor(Color.BLACK); break;
    
    }
   flag++;


    }
}

3.运行效果:



4.源代码链接:http://download.youkuaiyun.com/detail/feihuiwu123/4483628

要实现一个基于RGB三色LED的小夜灯的幻彩变化效果,首先需要准备一个包含红、绿、蓝三个独立通道的LED模块,并连接到微控制器如Arduino或单片机上。程序控制通常会采用循环颜色渐变算法。以下是简单的步骤算法策略: 1. **硬件配置**: - 连接RGB LED到数字I/O引脚,比如Arduino的PWM(脉宽调制)引脚,因为它们可以模拟连续的颜色。 2. **软件编程**: - **颜色生成**:通过编程计算出每一步的颜色,常用的是HSL(色相、饱度、亮度)或HSV(色相、饱度、明度)色彩空间。选择一种颜色模式,然后逐步改变其中的一个或几个参数来创建渐变。 ```c++ void changeColor() { int hue = random(0, 360); // 随机选取色相范围 float saturation = 0.5; // 固定饱度 float brightness = map(currentTime, 0, LED_DURATION, 0, 1); // 根据时间调整亮度 // 将HSL转换为RGB byte r, g, b; hslToRgb(hue, saturation, brightness, &r, &g, &b); setLeds(r, g, b); // 设置LED颜色 } ``` - **颜色过渡**:使用定时器或者延时函数(如millis()),每隔一段时间调用`changeColor()`函数,每次改变一个或几个参数的,使得颜色平滑地从一个过渡到另一个。 ```c++ void loop() { if (currentTime >= LED_DURATION) { currentTime = 0; } changeColor(); delay(LED_DELAY); // 每次颜色变化间隔 } ``` 3. **循环效果设计**: - 可以设置多种变化模式,如随机闪烁、彩虹效果、追逐光等,通过改变色相或速度来增加变化的复杂性趣味性。 4. **安全考虑**: - 对于长时间运行,确保LED的亮度不会过高以免损害人眼或电路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值