先决条件:如何在Android中添加褪色的TextView动画
TextView是用户界面组件的基本构建块。它用于设置文本并将其显示给用户。它是一个非常基本的组件,使用了很多东西。 Fading TextView是一个TextView,它每隔几秒钟会自动更改其内容。因此,现在的问题是为什么要增加/减少FadingTextView的衰落率。这完全取决于屏幕上显示的元素。这与应用程序的美观性有关。带有灰色或黑色文本的较慢的褪色文本视图可用于显示某些消息。同样,带有红色文本的更快的褪色文本视图可用于显示警告或错误消息。这完全取决于开发人员希望显示的内容。通过本文,我们实现了一个模型来演示此功能的工作原理。可以相应地利用这一功能。请注意,我们将使用Kotlin语言实施此项目。
方法
步骤1:创建一个新项目
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Kotlin作为编程语言。
步骤2:将依赖项添加到build.gradle文件
设置就绪后,转到应用程序build.gradle并添加以下依赖项。立即同步项目。
implementation ‘com.tomer:fadingtextview:2.5’
步骤3:使用activity_main.xml文件
接下来,转到activity_main.xml文件,该文件代表项目的UI。我们添加了一个FadingTextView元素来显示褪色文本和一个Button,因此每当用户单击按钮时,Fading Rate就会相应地增加/减少。以下是activity_main.xml文件的代码。在代码内部添加了注释,以更详细地了解代码。
XML
Kotlin
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.tomer.fadingtextview.FadingTextView
import java.util.concurrent.TimeUnit
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Strings to display in the FadingTextView
val texts = arrayOf("Welcome!", "Hello", "Geek")
// Declaring FadingTextView
val ftv = findViewById(R.id.fadingTextView)
// Set the text array to FadingTextView (ftv)
ftv.setTexts(texts)
var timeout:Long = 1000
// setTimeout(Long or Double value only, TimeUnit)
// TimeUnits: HOURS, MINUTES, SECONDS, MILLISECONDS
// For every 1000 Milliseconds, the text in FTV will change
ftv.setTimeout(timeout,TimeUnit.MILLISECONDS)
// btn to increase the change rate or make things faster.
val btn = findViewById
Kotlin
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.tomer.fadingtextview.FadingTextView
import java.util.concurrent.TimeUnit
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Strings to display in the FadingTextView
val texts = arrayOf("Welcome!", "Hello", "Geek")
// Declaring FadingTextView
val ftv = findViewById(R.id.fadingTextView)
// Set the text array to FadingTextView (ftv)
ftv.setTexts(texts)
var timeout:Long = 1
// setTimeout(Long or Double value only, TimeUnit)
// TimeUnits: HOURS, MINUTES, SECONDS, MILLISECONDS
// For every 1 Milliseconds, the text in FTV will change
ftv.setTimeout(timeout,TimeUnit.MILLISECONDS)
// btn to decrease the change rate or make things slower.
val btn = findViewById
步骤4:使用MainActivity.kt文件
最后,转到MainActivity.kt文件,并参考以下代码。下面是MainActivity.kt文件的代码。在代码内部添加了注释,以更详细地了解代码。
为了增加衰落速率(更快):
科特林
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.tomer.fadingtextview.FadingTextView
import java.util.concurrent.TimeUnit
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Strings to display in the FadingTextView
val texts = arrayOf("Welcome!", "Hello", "Geek")
// Declaring FadingTextView
val ftv = findViewById(R.id.fadingTextView)
// Set the text array to FadingTextView (ftv)
ftv.setTexts(texts)
var timeout:Long = 1000
// setTimeout(Long or Double value only, TimeUnit)
// TimeUnits: HOURS, MINUTES, SECONDS, MILLISECONDS
// For every 1000 Milliseconds, the text in FTV will change
ftv.setTimeout(timeout,TimeUnit.MILLISECONDS)
// btn to increase the change rate or make things faster.
val btn = findViewById
输出:在模拟器上运行
降低衰落速率(较慢):
科特林
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.tomer.fadingtextview.FadingTextView
import java.util.concurrent.TimeUnit
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Strings to display in the FadingTextView
val texts = arrayOf("Welcome!", "Hello", "Geek")
// Declaring FadingTextView
val ftv = findViewById(R.id.fadingTextView)
// Set the text array to FadingTextView (ftv)
ftv.setTexts(texts)
var timeout:Long = 1
// setTimeout(Long or Double value only, TimeUnit)
// TimeUnits: HOURS, MINUTES, SECONDS, MILLISECONDS
// For every 1 Milliseconds, the text in FTV will change
ftv.setTimeout(timeout,TimeUnit.MILLISECONDS)
// btn to decrease the change rate or make things slower.
val btn = findViewById