Android数字时钟神一般的实现 | 您所在的位置:网站首页 › oppo时钟插件在哪里 › Android数字时钟神一般的实现 |
文章目录
前言1. 使用方法2 优缺点3 在TextClock中使用样式
前言
在Android上实现数字时钟,还在自己使用TextView实现?在应用界面还容易,如果在AppWidget中,时间更新将会是头疼的问题,为了解决这些烦恼,Android官方提供了TextClock类,只需要将控件放在不居中,设置自己需要时间格式即可。 更多详情请参考Google官方文档:TextClock 1. 使用方法 布局文件实现,在布局文件中添加控件,设置样式等;设置时间显示格式;运行程序,查看效果。 没错,就这么简单,一个简单的数字时钟就完成了,示例是AppWidget实现时间显示,关于AppWidget的相关内容请参考:为你的Android应用构建窗口小部件(App Widget) 优点 使用方便无需关注时间更新被AppWidget支持(RemoteViews支持)缺点 在Android 4.2(Api level 17)开始才被支持 3 在TextClock中使用样式TextClock还有一个特点就是可以通过对格式化字符串添加样式,这样显示的事件也会拥有对应的样式. 在Android中为文本添加样式,可以通过Span来实现,更多关于Span的内容参考: Span 示例 package com.owen.clockwidget import android.graphics.Color import android.os.Bundle import android.text.Spannable import android.text.SpannableString import android.text.style.ForegroundColorSpan import android.text.style.RelativeSizeSpan import android.widget.TextClock import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { val TAG = "MainActivity" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val textClock = findViewById(R.id.timeText) val ss = SpannableString("HH:mm:ss") ss.setSpan(ForegroundColorSpan(Color.RED), 0, 6, Spannable.SPAN_INCLUSIVE_EXCLUSIVE) ss.setSpan(ForegroundColorSpan(Color.GREEN), 6, 7, Spannable.SPAN_INCLUSIVE_INCLUSIVE) ss.setSpan(RelativeSizeSpan(0.5f), 6, 7, Spannable.SPAN_INCLUSIVE_INCLUSIVE) textClock.format24Hour = ss } override fun onDestroy() { super.onDestroy() } } 效果![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |