在本文中,让我们学习如何在android中创建Instagram / Twitter heart like动画。 Twitter的Like动画非常出色且具有吸引力。假设有人想要制作一个Twitter,Instagram或Facebook之类的应用程序,使用户可以在其中发布信息,而该应用程序可以使用此视图。也可以使用Leonids代替它,但是与Leonids相比,它非常易于使用。这是一个动画库,动画有助于引起用户的注意,因此最好学习它。
方法
- 在build.gradle文件中添加支持库,并在“依赖项”部分中添加依赖项。
implementation 'pub.hanks:smallbang:1.2.2'
- 创建一个新的Android Resource Directory ,然后右键单击res文件夹-> Android Resource Directory ,确保选择资源类型为color 。
- 现在,在颜色目录中创建一个新文件text_selector.xml并添加以下代码。该文件用于根据TextView的状态选择TextColor 。
text_selector.xml
ic_heart.xml
ic_heart_red.xml
heart_selector.xml
activity_main.xml
MainActivity.java
package org.geeksforgeeks.twitterLikeAnimaton; import android.os.Bundle; import android.view.View; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import xyz.hanks.library.bang.SmallBangView; public class MainActivity extends AppCompatActivity { SmallBangView imageView,textView; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.textViewAnimation); imageView = findViewById(R.id.imageViewAnimation); textView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (textView.isSelected()) { textView.setSelected(false); } else { // if not selected only // then show animation. textView.setSelected(true); textView.likeAnimation(); } } }); imageView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (imageView.isSelected()) { imageView.setSelected(false); } else { // if not selected only // then show animation. imageView.setSelected(true); imageView.likeAnimation(); } } }); } }
- 现在,在drawable目录中创建一个新文件ic_heart.xml并添加以下代码,或者您可以从此Link下载矢量图像并将其粘贴到drawable文件夹中。
ic_heart.xml
- 现在,在drawable目录中创建一个新文件ic_heart_red.xml并添加以下代码,或者您可以从此Link下载矢量图像并将其粘贴到drawable文件夹中。
ic_heart_red.xml
- 现在,在drawable中创建一个新文件heart_selector.xml并添加以下代码。该文件用于根据ImageView的状态选择Image 。
heart_selector.xml
- 在activity_main.xml文件中添加以下代码。在此文件中,我们将ImageView和TextView作为childView添加到SmallBangView布局中。添加heart_selector在TextView中的文字颜色标签的ImageView和text_Selector的SRC标签。
activity_main.xml
- 在MainActivity中添加以下代码。 Java文件。在此文件中,我们将OnClickListner添加到ImageView和TextView中,每当用户点击视图时,它们都会自动调用。如果状态为true,即已选择ImageView或textView,则将setSelected设置为false,否则在视图上调用LikeAnimation。
主要活动。Java
package org.geeksforgeeks.twitterLikeAnimaton; import android.os.Bundle; import android.view.View; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import xyz.hanks.library.bang.SmallBangView; public class MainActivity extends AppCompatActivity { SmallBangView imageView,textView; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.textViewAnimation); imageView = findViewById(R.id.imageViewAnimation); textView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (textView.isSelected()) { textView.setSelected(false); } else { // if not selected only // then show animation. textView.setSelected(true); textView.likeAnimation(); } } }); imageView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (imageView.isSelected()) { imageView.setSelected(false); } else { // if not selected only // then show animation. imageView.setSelected(true); imageView.likeAnimation(); } } }); } }
作为模拟器运行