2015-12-13 2 views
2


Я пытаюсь сделать приложение, которое позволит пользователю делать фото и загружать его в базу данных, тогда оно должно показывать фотографии в списке. Я хочу показать прогресс spinner в панели действий, когда приложение загружает фотографии. Я пытался использовать такой код:
progress spinner не отображается в строке действий

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, извините, если это глупый вопрос.

+0

U может использовать диалог прогресса. – Abhishek

+0

Я знаю, но пользователь должен иметь возможность использовать приложение при загрузке – LisSkis

+0

Хорошо. Вы определили свой счетчик в xml? – Abhishek

ответ

0

Сначала добавьте индикатор выполнения в свой макет 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" 
    /> 

Во-вторых Создать 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); 
Смежные вопросы