📜  Kotlin的Android淡入/淡出

📅  最后修改于: 2021-05-09 17:28:38             🧑  作者: Mango

Android动画中,添加了视觉效果,使用户界面更具交互性,清晰感和美观性。淡入和淡出动画用于在设定的时间间隔内修改任何视图的外观,以便可以通知用户有关应用程序中发生的更改。

在本文中,我们将讨论如何在Kotlin中创建淡入/淡出动画。

XML Attributes Description
android:duration It is used to specify the duration of animation
android:fromAlpha It is the starting alpha value for the animation,
where 1.0 means fully opaque and 0.0 means fully transparent
android:toAlpha It is the ending alpha value
android:id Sets unique id of the view

第一步是在Android Studio中创建一个新项目。为此,请按照下列步骤操作:

  • 单击文件,然后依次单击新建和新建项目,并根据需要命名
  • 然后,选择Kotlin语言支持,然后单击下一步按钮。
  • 选择最低的SDK,无论您需要什么
  • 选择清空活动,然后单击完成。

之后,我们需要设计布局。为此,我们需要使用XML文件。转到应用>资源>布局,然后粘贴以下代码:

修改activity_main.xml文件



  
    
  
    

添加动画文件夹

在此文件夹中,我们将添加将用于生成动画的XML文件。为此,请右键单击应用程序/ res ,然后选择“ Android资源目录”并将其命名为anim
再次右键单击该动画文件夹,然后选择“动画”资源文件,并将其命名为fade_in 。同样,还要创建fade_out.xml并粘贴以下代码。

fade_in.xml



    android:interpolator="@android:anim/linear_interpolator">
    

fade_out.xml



    android:interpolator="@android:anim/linear_interpolator">
    

修改MainActivity.kt文件

打开app / src / main / Java/yourPackageName/MainActivity.kt并进行以下更改:

package com.geeksforgeeks.myfirstKotlinapp
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler
import android.view.View
import android.view.animation.AnimationUtils
import kotlinx.android.synthetic.main.activity_main.*
  
class MainActivity : AppCompatActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        //setting button onClickListner
        fade_in.setOnClickListener {
        textView.visibility = View.VISIBLE
        //loading our custom made animations
        val animation = AnimationUtils.loadAnimation(this, R.anim.fade_in)
        //starting the animation
        textView.startAnimation(animation)
    }
    fade_out.setOnClickListener {
        val animation = AnimationUtils.loadAnimation(this, R.anim.fade_out)
        textView.startAnimation(animation)
        //textview will be invisible after the specified amount
        // of time elapses, here it is 1000 milliseconds
        Handler().postDelayed({
            textView.visibility = View.GONE
        }, 1000)
    }
}
}

AndroidManifest.xml文件



  
    
        
            
                
  
                
            
        
    
  

作为模拟器运行:

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!