在Fragment中添加来自摄像头或图库的ImageView,可以通过以下步骤实现:
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val rootView = inflater.inflate(R.layout.fragment_layout, container, false)
val imageView = rootView.findViewById<ImageView>(R.id.imageView)
return rootView
}
<Button
android:id="@+id/selectButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select Image"
/>
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val selectButton = view.findViewById<Button>(R.id.selectButton)
selectButton.setOnClickListener {
// 选择图片的逻辑
val intent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
startActivityForResult(intent, REQUEST_IMAGE_SELECT)
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == REQUEST_IMAGE_SELECT && resultCode == Activity.RESULT_OK && data != null) {
val selectedImageUri = data.data
val imageView = view?.findViewById<ImageView>(R.id.imageView)
imageView?.setImageURI(selectedImageUri)
}
}
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
以上是在Fragment Android Studio Kotlin中添加来自摄像头/图库的ImageView的完整步骤。对于更详细的实现方式和示例代码,可以参考腾讯云官方文档中与Android开发相关的内容:Android开发 | 腾讯云。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云