我希望在UIfragment执行后台任务时,在工具栏上显示进度旋转器。我想为我的应用使用材料设计,因此我设置了没有操作栏的主题,并将工具栏用作操作栏。我尝试使用setProgressBarIndeterminateVisibility(Boolean.TRUE)但它不起作用。
我希望在UIfragment执行后台任务时,在工具栏上显示进度旋转器。我想为我的应用使用材料设计,因此我设置了没有操作栏的主题,并将工具栏用作操作栏。我尝试使用setProgressBarIndeterminateVisibility(Boolean.TRUE)但它不起作用。
我通过将进度条放置在父活动布局的工具栏中,然后从子片段访问进度条并在需要时显示它来解决了这个问题。
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:elevation="3dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/Base.ThemeOverlay.AppCompat.Dark"
local:popupTheme="@style/ThemeOverlay.AppCompat.Light" >
<ProgressBar
android:id="@+id/toolbar_progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateTint="#cccccc"
android:indeterminateTintMode="src_in"
android:indeterminate="true"
android:layout_gravity="right"
android:visibility="gone"
/>
</android.support.v7.widget.Toolbar>
ActionBarActivity
,请尝试以下操作:public class MainActivity extends ActionBarActivity {
boolean showUp=true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_main);
setSupportProgressBarIndeterminateVisibility(Boolean.TRUE);
Button b = (Button) findViewById(R.id.myButton);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(showUp){
setSupportProgressBarIndeterminateVisibility(Boolean.FALSE);
}else {
setSupportProgressBarIndeterminateVisibility(Boolean.TRUE);
}
showUp=!showUp;
}
});
}