LED数字时钟我们常见,以前一直以为数字时钟的数字都是通过绘画出来的,最近项目需要用到时,有网上查找学习了。才知道,原来很简单~~先上张图看看效果~~

原理说白了,就是通过两个TextView和一种字体格式就能显示。其中,一个TextView用于显示默认背景模糊数字,另一个TextView当然是显示需要的数值。而显示的数字就要用到字体工具设定字体格式。说再多不如操作实现来的实在。

1。添加字体
   1)取得字体digital-7工具包,可以到下面链接下载:
      http://download.csdn.net/detail/wxx614817/9415847
   2)把上面的字体添加到项目的 assets/fonts/路径下面

2。自定义LED数字的LEDView
   1)先定义LEDView的布局文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><TextViewandroid:id="@+id/ledview_bg"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:layout_gravity="center"android:textColor="#66C0C0C0" /><TextViewandroid:id="@+id/ledview_number"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignRight="@id/ledview_bg"android:gravity="right"android:textColor="#00FFFF" /></RelativeLayout>

上面的布局文件,第一个TextView的颜色设定为:
   android:textColor="#66C0C0C0"

这个八位的颜色要注意,前两位表示透明度,后六位才表示RGB颜色。就是因为设置了透明度所以才有背景数字的效果。

2)实现自定义LEDView类,代码非常简单,一看就明白,只是做了简单的封装,不是很好。个人可以根据自己需要封装.

package com.mobisummer.msgps;import java.io.File;import android.content.Context;
import android.content.res.AssetManager;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;public class LEDView extends LinearLayout {private static final String FONT_DIGITAL_7 = "fonts" + File.separator+ "digital-7.ttf";private TextView ledNumber;private TextView ledBg;public LEDView(Context context) {this(context, null);}public LEDView(Context context, AttributeSet attrs) {this(context, attrs, 0);}public LEDView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);initView(context);}private void initView(Context context) {LayoutInflater layoutInflater = LayoutInflater.from(context);View view = layoutInflater.inflate(R.layout.ledview, this);ledNumber = (TextView) view.findViewById(R.id.ledview_number);ledBg = (TextView) view.findViewById(R.id.ledview_bg);AssetManager assets = context.getAssets();final Typeface font = Typeface.createFromAsset(assets, FONT_DIGITAL_7);ledNumber.setTypeface(font);// 设置字体样式ledBg.setTypeface(font);// 设置字体样式}/*** 显示电子数字* @param size 字体大小* @param bg 背景数字显示样式,即背景数字* @param number 需要显示的数字样式*/public void setLedView(int size, String bg, String number) {ledBg.setTextSize(size);ledNumber.setTextSize(size);ledBg.setText(bg);ledNumber.setText(number);}}

3。引用上面自定义的LEDView
   1)在需要显示的Activity的xml文件中添加LEDView

            <com.mobisummer.msgps.LEDViewandroid:id="@+id/nb_time"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1" ></com.mobisummer.msgps.LEDView>

2)代码中传入相应的参数实现LEDView的显示。

mTime = (LEDView) view.findViewById(R.id.nb_time);
mTime.setLedView(80, getString(R.string.default_bg_time), time);

好了,晚了,睡去~~

Android实现LED数字显示相关推荐

  1. android手电筒功能吗,android通过led实现手电筒功能

    本文实例为大家分享了android通过led实现手电筒功能的具体代码,供大家参考,具体内容如下 第一步添加权限: 第二步实现手电筒工具类: import android.hardware.Camera ...

  2. java绘制点阵数字(LED数字显示),转载源码

    看到一个扫雷例子的源码,学习了下绘制LED数字显示的方法,感觉挺好,做笔记记录下 import java.awt.Color; import java.awt.Component; import ja ...

  3. 基于android模拟led发光,LED通知灯模拟app

    LED通知灯模拟app是一款对OLED屏幕能进行模拟的软件,软件中用OLED灯的屏幕为手机带来通知的功能,让那些因为屏幕而不得不舍弃通知灯功能的用户可以重新使用这个功能,有需要的用户快来下载吧! LE ...

  4. Android 充电LED控制

    1.前言 充电LED灯控制是Android设备的基本功能,主要用于提示设备的电池状态,充电状态,满电状态,低电状态,很多手机厂商还使用呼吸效果来显示,普通的低端设备会使用两个LED灯表示,红灯表示充电 ...

  5. android 指示灯权限,Android实现LED灯显示效果

    LED显示效果 项目地址 效果图a 原理 广告牌中经常能看到上面这种显示效果,使用LED灯实现文字甚至是图片的显示,那如何在Android中实现这种效果呢? 通常的做法应该是获取字体的点阵信息,然后经 ...

  6. android实现LED发光字效果实战

    转载请注明出处:http://blog.csdn.net/woshizisezise/article/details/52932614 大家好,这一篇博客来教大家一个类似于LED闹钟显示屏样式的小案例 ...

  7. Android 相机 LED 做手电筒

    2019独角兽企业重金招聘Python工程师标准>>> Netkiller Android 手札 http://www.netkiller.cn/android/index.html ...

  8. Android 控制LED 屏

    翻电脑,发现2013年做的安卓控制LED屏软件,那个时候物联网还没这么火热,APP控制设备也没怎么普遍,刚刚到公司自己给公司做的第一项目就是这个APP,没有美工,界面什么哒都是自己瞎弄的.纪念一下

  9. Android 模拟LED灯字效果,显示滚动文字

    最近疫情期间,在家突然想到了LED灯字,网上找了一下,里面不是有广告的就是需要注册的,所以自己实现一个,大家可以下载玩玩: apk 下载链接:LED.apk

最新文章

  1. Bumblebee微服务网关之并发限制
  2. codeforces 932D Tree 倍增法+二分搜索
  3. wifi 小米pro 驱动 黑苹果_搞定小米黑苹果自带WIF,又可省一个USB接口了
  4. PagerAdapter学习
  5. unoconv执行出错unable to connect or start own listener
  6. vue苹果浏览器微信公众号底部回退栏如何固定或隐藏
  7. 反向输出一个四位数c语言程序,将一个四位数反向输出
  8. K8S认证、授权与准入控制(RBAC)详解
  9. ORA-12541:TNS: 没有监听器.解决方法!
  10. 使用data attributes
  11. mysql学习笔记 51_MySQL学习笔记(一)
  12. python标准库——math模块
  13. css 伪类大全,CSS 伪类
  14. vijos一元三次方程求解
  15. win10user文件夹迁移_Win10转移系统盘用户文件到非系统盘的详细步骤
  16. 魔咒词典 HDU - 1880 (字符串hash 单hash转int或者 双hash )
  17. 《人月神话》(The Mythical Man-Month)看清问题的本质:如果我们想解决问题,就必须试图先去理解它...
  18. 如果你不释放MogaFX外汇,你将无法获得交易或投资
  19. Opencv实现颜色检测
  20. 一键智能抠图-原理实现

热门文章

  1. SQL之数据定义、数据操纵
  2. mysql 查询不重复的值_在 MySQL 中查询不重复记录值的方法
  3. 【笑小枫的SpringBoot系列】【十五】SpringBoot根据模板生成Word
  4. 美团点评技术与算法文章汇总,设计算法、前后端、客户端、小程序等
  5. 如何破译Charles
  6. TypeScript常用基础语法学习
  7. 基于WIN32 API界面编程实现的华容道小游戏
  8. Mysql数据库远程连接的两种方式
  9. 东华大学计算机学院迎新晚会,东华大学2014-2015学年迎新晚会
  10. 移动web(看这一篇就够了)