我搜索过如何在android上以编程方式拍摄屏幕截图,但我找到的答案是在Java(我不明白)。
请给出Kotlin的解决方案。
测试一下
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val constraintLayout: ConstraintLayout = findViewById(R.id.container)
getScreenShot(constraintLayout)
}
private fun getScreenShot(view: View): Bitmap {
val returnedBitmap = Bitmap.createBitmap(view.width, view.height, Bitmap.Config.ARGB_8888)
val canvas = Canvas(returnedBitmap)
val bgDrawable = view.background
if (bgDrawable != null) bgDrawable.draw(canvas)
else canvas.drawColor(Color.WHITE)
view.draw(canvas)
return returnedBitmap
}
}