Android标题栏中显示加载进度条

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我理解了你的问题。下面是使用 Kotlin 开发 Android 应用程序,在系统相册遍历并显示图片,并显示加载进度条的示例代码: 1. 在布局文件添加一个 ProgressBar 和一个 RecyclerView,用于显示图片列表和加载进度条。 ```xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ProgressBar android:id="@+id/progressBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"/> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout> ``` 2. 在 Activity 或 Fragment ,定义变量和方法: ```kotlin private lateinit var progressBar: ProgressBar private lateinit var recyclerView: RecyclerView private lateinit var adapter: ImageAdapter private val images = ArrayList<String>() private fun getAllImages() { progressBar.visibility = View.VISIBLE recyclerView.visibility = View.GONE val projection = arrayOf(MediaStore.Images.Media.DATA) val cursor = contentResolver.query( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, null ) while (cursor!!.moveToNext()) { val path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA)) images.add(path) } cursor.close() adapter.notifyDataSetChanged() progressBar.visibility = View.GONE recyclerView.visibility = View.VISIBLE } ``` 3. 在 onCreate 方法初始化变量和方法: ```kotlin override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) progressBar = findViewById(R.id.progressBar) recyclerView = findViewById(R.id.recyclerView) adapter = ImageAdapter(images) recyclerView.adapter = adapter recyclerView.layoutManager = GridLayoutManager(this, 3) getAllImages() } ``` 4. 创建一个 RecyclerView.Adapter,用于显示图片列表: ```kotlin class ImageAdapter(private val images: List<String>) : RecyclerView.Adapter<ImageAdapter.ViewHolder>() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val view = LayoutInflater.from(parent.context).inflate(R.layout.item_image, parent, false) return ViewHolder(view) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { val image = images[position] Glide.with(holder.itemView.context) .load(image) .centerCrop() .into(holder.imageView) } override fun getItemCount(): Int { return images.size } inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val imageView: ImageView = itemView.findViewById(R.id.imageView) } } ``` 5. 在 item_image.xml 定义 ImageView,用于显示图片: ```xml <ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/imageView" android:layout_width="match_parent" android:layout_height="match_parent"/> ``` 这样,当应用程序启动时,它将遍历系统相册的所有图片,并在 RecyclerView 显示它们。在遍历期间,将显示 ProgressBar,直到所有图片都被加载完毕。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值