使用Kotlin从图库中选择图像
最近我开始学习Kotlin
。 有了一些基本的功能后,我坚持使用图像选择器。
是否有任何具体的方式来使用Kotlin
从图库和相机中选择图像? 还是应该在我们的普通Java代码中实现,然后从Kotlin
文件中调用它?
Java代码 :
Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE);
使用Kotlin
执行此操作有什么不同?
这里有一个用于选择图像和捕捉图像的示例功能代码:
fun selectImageInAlbum() { val intent = Intent(Intent.ACTION_GET_CONTENT) intent.type = "image/*" if (intent.resolveActivity(packageManager) != null) { startActivityForResult(intent, REQUEST_SELECT_IMAGE_IN_ALBUM) } } fun takePhoto() { val intent1 = Intent(MediaStore.ACTION_IMAGE_CAPTURE) if (intent1.resolveActivity(packageManager) != null) { startActivityForResult(intent1, REQUEST_TAKE_PHOTO) } } companion object { private val REQUEST_TAKE_PHOTO = 0 private val REQUEST_SELECT_IMAGE_IN_ALBUM = 1 }
另外不要忘记把这个添加到你的清单文件中:
<uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我希望我能帮上忙
val intent = Intent() intent.type = "image/*" intent.action = Intent.ACTION_GET_CONTENT startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE) override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) { super.onActivityResult(requestCode, resultCode, data) }
你也可以在Kotlin上写下来。
val intent = Intent() intent.type = "image/*" intent.action = Intent.ACTION_GET_CONTENT startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE);