Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在按钮中显示进度图标_Android - Fatal编程技术网

Android 如何在按钮中显示进度图标

Android 如何在按钮中显示进度图标,android,Android,我需要在按钮中显示进度图标,以便用户可以在后台任务处理时与其他GUI元素交互 我在Android开发者网站上搜索过,发现我们可以使用动画绘图,但不知道如何使用它们。请给出同样的建议。如果默认进度指示器对您来说足够好(即纺车),那么您可以使用ProgressBar。要将其从普通进度条更改为旋转滚轮,请使用progressBar.setUndeterminate(true)在不使用动画可绘制文件的情况下执行此操作的非常简单的方法是在设计布局xml中使用“PrePressBar”组件。当您需要显示它时

我需要在按钮中显示进度图标,以便用户可以在后台任务处理时与其他GUI元素交互


我在Android开发者网站上搜索过,发现我们可以使用动画绘图,但不知道如何使用它们。请给出同样的建议。

如果默认进度指示器对您来说足够好(即纺车),那么您可以使用
ProgressBar
。要将其从普通进度条更改为旋转滚轮,请使用
progressBar.setUndeterminate(true)

在不使用动画可绘制文件的情况下执行此操作的非常简单的方法是在设计布局xml中使用“PrePressBar”组件。当您需要显示它时,只需将其可见性属性设置为visible,当您需要隐藏它时,您可以将其可见性属性设置为GONE。但请记住,这是UI任务,所以当您需要使用非UI线程执行此操作时,您需要使用处理程序在运行时设置“ProgressBar”组件的状态

下面是布局文件中的组件id

<ProgressBar 
android:id="@+id/progressBar1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
</ProgressBar>

你知道怎么做了吗?在不使用动画绘图的情况下,最简单的方法是在设计布局xml中使用“PrePressBar”组件。当您需要显示它时,只需将其可见性属性设置为visible,当您需要隐藏它时,您可以将其可见性属性设置为GONE。但请记住,这是UI任务,所以当您需要使用非UI线程执行此操作时,您需要使用处理程序在运行时设置“ProgressBar”组件的状态。
ProgressBar prg;
 @Override    
    public void onCreate(Bundle savedInstanceState) 
    {         
        super.onCreate(savedInstanceState);         
        setContentView(R.layout.main1); 
         prg=(ProgressBar)findViewById(R.id.ProgressBar1);
         prg.setVisibility(ProgressBar.GONE);
  }
public void start_background_process()
{
// starting the process
 prg.setVisibility(ProgressBar.VISIBLE);

new Thread(new Runnable() 
         { public void run() 
         { 
         // Do your background stuff here which takes indefinite time
        mHandlerUpdateProgress.post(mUpdateUpdateProgress);

         }
      } ).start();
}
final Handler mHandlerUpdateProgress= new Handler();

   final Runnable mUpdateUpdateProgress = new Runnable() {
       public void run() {
// ending the process
          prg.setVisibility(ProgressBar.GONE);
       }
   };