Я сделал что-то вроде этого, но он также включает в себя значок.Вот готовый запеченный код для тех, кто ищет это.
В вашем макете используйте
<LinearLayout
android:id="@+id/my_element"
android:layout_width="match_parent"
android:layout_marginLeft="20dp"
android:layout_marginTop="5dp"
android:layout_height="20dp">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_action_place"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:textColor="@color/black"
android:textSize="12sp"
android:gravity="center_vertical"
android:text=""/>
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="20dp"
style="@android:style/Widget.ProgressBar.Small"
android:layout_marginRight="5dp" />
</LinearLayout>
Это линейный макет, который содержит текстовое представление (дополнительный значок впереди только для ударов)и вращающийся индикатор прогресса небольшого размера.
В упражнении / фрагменте добавьте
LinearLayout llMyElement;
В соответствующий onCreate / onCreateView используйте
llMyElement = (LinearLayout) view.findViewById(R.id.my_element);
В OnPostExecute AsyncTask иливезде, где вы хотите установить текст после вызова процесса setLoadingText(llMyElement, “Some Result");
и включить эту вспомогательную функцию, которая устанавливает текст в ваш класс Activity или в любое другое подходящее место, например, в класс Util.
public void setLoadingText(LinearLayout layout, String text)
{
int count = layout.getChildCount();
for(int i = 0; i < count; i++)
{
if(layout.getChildAt(i) instanceof TextView)
((TextView) layout.getChildAt(i)).setText(text);
if(layout.getChildAt(i) instanceof ProgressBar)
layout.getChildAt(i).setVisibility(View.GONE);
}
}
И это все .. Наслаждайтесь !!