进度微调器未显示在操作栏中

时间:2015-12-13 20:09:41

标签: android


我正在尝试制作允许用户拍照并将其上传到数据库的应用,然后它应该在列表视图中显示照片。我想在应用上传照片时在操作栏中显示进度微调器。我尝试使用这样的代码:

supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
@Override
protected void onPreExecute() {
    super.onPreExecute();
    setSupportProgressBarIndeterminateVisibility(Boolean.TRUE);
}
...(doInBackground - uploading)
protected void onPostExecute(String file_url) {
setSupportProgressBarIndeterminateVisibility(Boolean.FALSE);
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            listView = (ListView) findViewById(R.id.photosList);
            listView.setAdapter(adapter);
        }
    });
}

但它没有显示任何东西。我是新手android开发人员,对不起,如果这是一个愚蠢的问题。

1 个答案:

答案 0 :(得分:0)

首先在Layout xml中添加进度条。

  <ProgressBar
  style="?android:attr/progressBarStyleLarge"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:id="@+id/progressBar"
  android:progressDrawable="@drawable/circular_progress_bar"
  />

其次在drawable文件夹中创建circular_progress_bar.xml。

 <?xml version="1.0" encoding="utf-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="90"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360">

<shape
  android:innerRadiusRatio="3"
  android:shape="ring"
  android:thicknessRatio="7.0">

  <gradient
     android:centerColor="#007DD6"
     android:endColor="#007DD6"
     android:startColor="#007DD6"
     android:angle="0"
     android:type="sweep"
     android:useLevel="false" />
    </shape>

    </rotate>

最后将其设置在您的Activty

private ProgressBar spinner;
spinner=(ProgressBar)findViewById(R.id.progressBar);
  spinner.setVisibility(View.GONE);

并将其设置在您想要显示进度微调器的任何位置。

spinner.setVisibility(View.VISIBLE);