开发者社区> 问答> 正文

如何在水平进度条android中设置进度

我想要水平进度条从0移到100。我在布局中添加了此代码。我应该如何移动此进度栏?

 <ProgressBar
        android:id="@+id/progressBar"
        android:indeterminate="false"
        android:layout_width="300dp"
        android:layout_height="50dp"
        android:layout_marginTop="100dp"
        android:layout_marginLeft="50dp"
        android:progress="0"
        android:max="100"
        style="@android:style/Widget.ProgressBar.Horizontal"
        />

展开
收起
Puppet 2020-01-18 22:03:48 342 0
1 条回答
写回答
取消 提交回答
  • 试试这个代码:

    
     import android.app.Activity;
        import android.os.AsyncTask;
        import android.os.Bundle;
        import android.view.View;
        import android.view.View.OnClickListener;
        import android.widget.Button;
        import android.widget.ProgressBar;
        import android.widget.TextView;
    
        public class MainActivity extends Activity {
    
            Button btn;
            private ProgressBar progressBar;
            TextView txt;
            Integer count =1;
    
            @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main_activity);
    
                progressBar = (ProgressBar) findViewById(R.id.progressBar);
                progressBar.setMax(100);
                btn = (Button) findViewById(R.id.btn);
                btn.setText("Start");
                txt = (TextView) findViewById(R.id.output);
    
                btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                        count =1;
                        progressBar.setVisibility(View.VISIBLE);
                        progressBar.setProgress(0);
    
                        new MyTask().execute(100);
    
            });
            }
            class MyTask extends AsyncTask<Integer, Integer, String> {
                @Override
                protected String doInBackground(Integer... params) {
                    for (count=1 ; count <= params[0]; count++) {
                        try {
                            Thread.sleep(1000);
                            publishProgress(count);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                    return "Task Completed.";
                }
                @Override
                protected void onPostExecute(String result) {
                    progressBar.setVisibility(View.GONE);
                        txt.setText(result);
                        btn.setText("Restart");
                }
                @Override
                protected void onPreExecute() {
                    txt.setText("Task Starting...");
                }
                @Override
                protected void onProgressUpdate(Integer... values) {
                    txt.setText("Running..."+ values[0]);
                    progressBar.setProgress(values[0]);
                }
            }
        } 
    
    2020-01-18 22:04:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载