在Android中,你可以使用ProgressBar小部件来显示加载进度,并在加载完成后禁用“刷新”按钮。以下是一个使用Kotlin编写的示例代码:
首先,在XML布局文件中添加一个ProgressBar小部件和一个Button小部件:
接下来,在Kotlin代码中,你可以使用以下代码来实现加载和禁用“刷新”按钮的功能:
import android.os.Bundle
import android.os.Handler
import android.view.View
import android.widget.Button
import android.widget.ProgressBar
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
private lateinit var progressBar: ProgressBar
private lateinit var refreshButton: Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
progressBar = findViewById(R.id.progressBar)
refreshButton = findViewById(R.id.refreshButton)
refreshButton.setOnClickListener {
// 禁用“刷新”按钮
refreshButton.isEnabled = false
// 显示ProgressBar
progressBar.visibility = View.VISIBLE
// 模拟加载数据的耗时操作
Handler().postDelayed({
// 加载完成后启用“刷新”按钮
refreshButton.isEnabled = true
// 隐藏ProgressBar
progressBar.visibility = View.GONE
}, 2000) // 这里的2000表示加载数据的耗时,可以根据实际情况修改
}
}
}
在上面的代码中,首先获取了ProgressBar和Button的实例,然后在点击“刷新”按钮时禁用该按钮,并显示ProgressBar。接下来,通过使用Handler的postDelayed方法来模拟加载数据的耗时操作。在加载完成后,启用“刷新”按钮并隐藏ProgressBar。
这样,当你点击“刷新”按钮时,会禁用按钮并显示进度条,然后在加载完成后启用按钮并隐藏进度条。这样可以避免刷新两次或更频繁。