📌  相关文章
📜  如何在Android中通过按钮单击事件更改背景图像?

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

背景图像在美化任何应用程序中都起着重要作用。因此,像WhatsApp,Messenger这样的大多数社交媒体应用程序将此功能作为其功能的一部分提供给用户。因此,请牢记这一点,我们将开发一个android应用程序,在该应用程序中,通过单击按钮可以更改背景图像。

我们将在本文中构建什么?

我们将构建一个简单的应用程序,其中将显示一个Button,然后通过单击按钮的事件来更改该应用程序中的背景图像。请注意,我们将创建一个保存在drawable文件夹中的图像数组,并使用Random类随机访问这些图像。我们将使用Java语言实现该项目。因此,在不浪费更多时间的情况下,让我们开始实施吧。下面给出了一个示例GIF,以了解我们将在本文中做些什么。注意,我们将使用Java语言实现该项目。

通过Android示例GIF中的按钮单击事件来更改背景图像

分步实施

步骤1:创建一个新项目

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

第2步:收集图像并保存

现在,下载一些背景图像,然后导航至app> res> drawable文件夹,并使用复制粘贴方法将所有下载的图像保存在drawable文件夹中。

步骤3:使用activity_main.xml文件

现在,我们将设计应用程序的布局部分,因此,导航至app> res> layout> activity_main.xml ,然后将以下编写的代码粘贴到activity_main.xml文件中。

XML


  
    
    


Java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
  
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
  
import java.util.Random;
  
public class MainActivity extends AppCompatActivity {
    Button button;
    View screenView;
    int[] back_images;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // array creation of images which are stored
        // in drawable folder under res folder
        back_images = new int[]{R.drawable.geeksforgeeks, R.drawable.geeksforgeeks2,
                                R.drawable.geeksforgeeks3, R.drawable.geeksforgeeks4};
        button = findViewById(R.id.Button);
        screenView = findViewById(R.id.relative_layout);
  
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
  
                // fetching length of array
                int array_length = back_images.length;
  
                // object creation of random class
                Random random = new Random();
  
                // generation of random number
                int random_number = random.nextInt(array_length);
  
                // set background images on screenView
                // using setBackground() method.
                screenView.setBackground(ContextCompat.getDrawable(getApplicationContext(), back_images[random_number]));
            }
        });
    }
}


步骤4:使用MainActivity。 Java文件

接下来,我们将开发应用程序的后端部分。因此,导航至应用程序> Java >程序包名称> MainActivity。 Java,然后将下面编写的代码粘贴到MainActivity中。 Java文件。在代码内部添加了注释,以更详细地了解代码。

Java

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
  
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
  
import java.util.Random;
  
public class MainActivity extends AppCompatActivity {
    Button button;
    View screenView;
    int[] back_images;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // array creation of images which are stored
        // in drawable folder under res folder
        back_images = new int[]{R.drawable.geeksforgeeks, R.drawable.geeksforgeeks2,
                                R.drawable.geeksforgeeks3, R.drawable.geeksforgeeks4};
        button = findViewById(R.id.Button);
        screenView = findViewById(R.id.relative_layout);
  
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
  
                // fetching length of array
                int array_length = back_images.length;
  
                // object creation of random class
                Random random = new Random();
  
                // generation of random number
                int random_number = random.nextInt(array_length);
  
                // set background images on screenView
                // using setBackground() method.
                screenView.setBackground(ContextCompat.getDrawable(getApplicationContext(), back_images[random_number]));
            }
        });
    }
}

现在,我们的应用程序已准备好安装。因此,单击运行按钮以运行该应用程序。这是该应用程序的输出视频。

输出:

Github链接:有关更多帮助,请访问此存储库。