📜  如何在 Android 中实现 TNImage 库?

📅  最后修改于: 2022-05-13 01:54:50.979000             🧑  作者: Mango

如何在 Android 中实现 TNImage 库?

Android 是一个开源操作系统,基于 Linux 内核,用于智能手机、平板电脑等移动设备。此外,它是为智能手表和 Android TV 开发的。他们每个人都有一个专门的接口。 Android 一直是最畅销的智能手机操作系统之一。 Android OS 由 Google 于 2005 年收购的 Android Inc. 开发。在本文中,我们将展示 TNImage 库的实现。在这里,我们将在主屏幕上放置一个图像,当我们触摸图像时,我们可以将图像从主屏幕上的一个位置移动到另一个位置。当我们在主屏幕上有很多图像时可以使用此功能,然后我们可以将图像从一个位置移动到另一个位置,并且可以再次设置图像的位置。让我们看看这个功能的实现。

分步实施

第 1 步:创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。请注意,选择Java作为编程语言。

第 2 步:将其添加到 build.gradle 文件中

将其添加到存储库末尾的根“build.gradle”中:

包括以下依赖项。

第 3 步:使用 activity_main.xml 文件

转到activity_main.xml文件并参考以下代码。下面是activity_main.xml文件的代码。

XML


  
    


Java
package com.anni.shareimage;
  
import androidx.appcompat.app.AppCompatActivity;
  
import android.os.Bundle;
import android.view.View;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.DecelerateInterpolator;
import android.widget.Button;
import android.widget.ImageView;
  
import java.util.Random;
  
public class RotateCoin extends AppCompatActivity {
  
    public static final Random RANDOM = new Random();
    private ImageView coin;
    private Button btn;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_rotate_coin);
        coin = (ImageView) findViewById(R.id.coin);
        btn = (Button) findViewById(R.id.btn);
            
        // click on the button to flip
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                flipCoin();
            }
        });
    }
  
    private void flipCoin() {
        Animation fadeOut = new AlphaAnimation(1, 0);
        fadeOut.setInterpolator(new AccelerateInterpolator());
            
        // set the duration
        fadeOut.setDuration(1000);
        fadeOut.setFillAfter(true);
        fadeOut.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
  
            }
            @Override
            public void onAnimationEnd(Animation animation) {
                
                // add the images when rotating
                coin.setImageResource(RANDOM.nextFloat() > 0.5f ? R.drawable.ic_coin : R.drawable.ic_coins);
                Animation fadeIn = new AlphaAnimation(0, 1);
                fadeIn.setInterpolator(new DecelerateInterpolator());
                    
                // set the duration
                fadeIn.setDuration(3000);
                fadeIn.setFillAfter(true);
                coin.startAnimation(fadeIn);
            }
  
            @Override
            public void onAnimationRepeat(Animation animation) {
  
            }
        });
  
        coin.startAnimation(fadeOut);
    }
  
}


第 4 步:使用 MainActivity。Java

转到MainActivity。 Java文件并参考以下代码。下面是MainActivity 的代码。Java

Java

package com.anni.shareimage;
  
import androidx.appcompat.app.AppCompatActivity;
  
import android.os.Bundle;
import android.view.View;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.DecelerateInterpolator;
import android.widget.Button;
import android.widget.ImageView;
  
import java.util.Random;
  
public class RotateCoin extends AppCompatActivity {
  
    public static final Random RANDOM = new Random();
    private ImageView coin;
    private Button btn;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_rotate_coin);
        coin = (ImageView) findViewById(R.id.coin);
        btn = (Button) findViewById(R.id.btn);
            
        // click on the button to flip
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                flipCoin();
            }
        });
    }
  
    private void flipCoin() {
        Animation fadeOut = new AlphaAnimation(1, 0);
        fadeOut.setInterpolator(new AccelerateInterpolator());
            
        // set the duration
        fadeOut.setDuration(1000);
        fadeOut.setFillAfter(true);
        fadeOut.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
  
            }
            @Override
            public void onAnimationEnd(Animation animation) {
                
                // add the images when rotating
                coin.setImageResource(RANDOM.nextFloat() > 0.5f ? R.drawable.ic_coin : R.drawable.ic_coins);
                Animation fadeIn = new AlphaAnimation(0, 1);
                fadeIn.setInterpolator(new DecelerateInterpolator());
                    
                // set the duration
                fadeIn.setDuration(3000);
                fadeIn.setFillAfter(true);
                coin.startAnimation(fadeIn);
            }
  
            @Override
            public void onAnimationRepeat(Animation animation) {
  
            }
        });
  
        coin.startAnimation(fadeOut);
    }
  
}

输出: