📜  如何在Android中的图像之间添加页面卷曲动画?

📅  最后修改于: 2021-05-13 17:15:02             🧑  作者: Mango

动画是创建美观用户界面的最佳方法。用户喜欢在android应用程序中查看动画。当我们必须制作某种特殊的应用程序时,这变得更加必要,例如,如果我们正在为一本书创建一个应用程序,那么我们应该创建一个动画,使用户在移动一页时给人真实的感觉到另一个。他应该具有一定的经验,以使他实际上在现实世界中从一页转到另一页。在今天的文章中,我们将学习另一个称为页面卷曲动画的android动画。当用户从一个图像移动到另一个图像时,它会给人一种卷曲页面的感觉。

方法:我们将在本文中使用一个库,而在XML中,我们将使用该库中的对象app.num.numandroidpagecurleffect.PageCurlView并给其width和height属性match_parent 。之后,我们将在Java或Kotlin类中创建图像的ArrayList,并在该库的帮助下将列表设置为CurlView。作为参考,作为资源,我们将在GitHub上载本文中完成的项目,并将为您提供人员资源库链接,以便您进行更多探索。下面给出了一个示例GIF,以了解我们将在本文中做些什么。注意,我们将使用Java语言实现该项目。

Android示例GIF中图像之间的页面卷曲动画

分步实施

步骤1:创建一个新项目

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

步骤:2为库添加依赖项

确保在项目结构的左上角选择了Android。然后,导航至Gradle Scripts / build.gradle(模块:app)并将此代码实现“ app.num.numandroidpagecurleffect:numandroidpagecurleffect:1.0”粘贴到依赖项中。

之后,单击屏幕右上角的立即同步。

步骤3:使用activity_main.xml文件

导航到应用程序> res>布局> activity_main.xml,然后将以下代码添加到该文件中。以下是activity_main.xml文件的代码。

XML


  
    
    
  


Java
PageCurlView pageCurlView;
List images;


Java
pageCurlView = findViewById(R.id.pagecurlView);
images= new ArrayList<>();
  
images.add(R.drawable.img1); // First Image
images.add(R.drawable.img2); // Second Image
images.add(R.drawable.img3); // Third Image
  
pageCurlView.setCurlView(images);
pageCurlView.setCurlSpeed(600); // Set the speed in ms


Java
import androidx.appcompat.app.AppCompatActivity;
  
import android.os.Bundle;
  
import java.util.ArrayList;
import java.util.List;
  
import app.num.numandroidpagecurleffect.PageCurlView;
  
public class MainActivity extends AppCompatActivity {
      
    PageCurlView pageCurlView;
    List images;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pageCurlView = findViewById(R.id.pagecurlView);
        images = new ArrayList<>();
  
        images.add(R.drawable.img1); // First Image
        images.add(R.drawable.img2); // Second Image
        images.add(R.drawable.img3); // Third Image
  
        pageCurlView.setCurlView(images);
        pageCurlView.setCurlSpeed(600); // Set the speed in ms
    }
}


步骤4:使用 主要活动。 Java文件

现在,转到MainActivity类,然后将代码粘贴在onCreate方法之前。

Java

PageCurlView pageCurlView;
List images;

创建图像的ArrayList并将其设置为PageCurl动画

在MainActivity类中,将以下代码粘贴到我们的onCreate方法中。

Java

pageCurlView = findViewById(R.id.pagecurlView);
images= new ArrayList<>();
  
images.add(R.drawable.img1); // First Image
images.add(R.drawable.img2); // Second Image
images.add(R.drawable.img3); // Third Image
  
pageCurlView.setCurlView(images);
pageCurlView.setCurlSpeed(600); // Set the speed in ms

以下是MainActivity的完整代码。 Java文件。

Java

import androidx.appcompat.app.AppCompatActivity;
  
import android.os.Bundle;
  
import java.util.ArrayList;
import java.util.List;
  
import app.num.numandroidpagecurleffect.PageCurlView;
  
public class MainActivity extends AppCompatActivity {
      
    PageCurlView pageCurlView;
    List images;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pageCurlView = findViewById(R.id.pagecurlView);
        images = new ArrayList<>();
  
        images.add(R.drawable.img1); // First Image
        images.add(R.drawable.img2); // Second Image
        images.add(R.drawable.img3); // Third Image
  
        pageCurlView.setCurlView(images);
        pageCurlView.setCurlSpeed(600); // Set the speed in ms
    }
}

现在,我们已经完成了代码,您可以仅在android仿真器或物理设备上运行应用程序。

输出:

资源:您还可以在GitHub上找到该项目,并使用其代码进行更多探索。