因此,在本文中,我们将向您展示如何在 Android 中截取子视图的屏幕截图。以下是 IDE 准备就绪后要遵循的步骤。
分步实施
第 1 步:在 Android Studio 中创建一个新项目
要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。我们在 Kotlin 中演示了该应用程序,因此请确保在创建新项目时选择Kotlin作为主要语言。
第 2 步:使用 activity_main.xml 文件
导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.xml文件的代码。我们将截取作为子视图的 TextView 的屏幕截图,因此我们在活动布局中声明 TextView。创建一个按钮来执行截取屏幕截图的操作。
XML
Kotlin
package org.geeksforgeeks.subviewscreenshot
import android.content.ContentValues
import android.graphics.Bitmap
import android.net.Uri
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Environment
import android.provider.MediaStore
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import java.io.File
import java.io.FileOutputStream
import java.io.OutputStream
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Declaring and initializing the TextView
// and the Button from the layout file
val mTextView = findViewById(R.id.text_view_1)
val mButton = findViewById
第 3 步:使用MainActivity.kt 文件
转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。在下面的主代码中,我们实现了获取子视图屏幕截图并将其保存在设备上的方法。为了保存生成的图像,开发了一个函数来将图像保存在设备上。请参阅 Circular Crop an Image and Save it to the File in Android 了解如何将图像存储在设备上。代码中添加了注释以更详细地理解代码。
科特林
package org.geeksforgeeks.subviewscreenshot
import android.content.ContentValues
import android.graphics.Bitmap
import android.net.Uri
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Environment
import android.provider.MediaStore
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import java.io.File
import java.io.FileOutputStream
import java.io.OutputStream
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Declaring and initializing the TextView
// and the Button from the layout file
val mTextView = findViewById(R.id.text_view_1)
val mButton = findViewById