如何在工具栏中显示进度动画

3

我希望在UIfragment执行后台任务时,在工具栏上显示进度旋转器。我想为我的应用使用材料设计,因此我设置了没有操作栏的主题,并将工具栏用作操作栏。我尝试使用setProgressBarIndeterminateVisibility(Boolean.TRUE)但它不起作用。


谷歌坏了吗? - M D
2个回答

4

我通过将进度条放置在父活动布局的工具栏中,然后从子片段访问进度条并在需要时显示它来解决了这个问题。

<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>

1
如果您继承自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;
        }
    });
}

它对我不起作用,你是用工具栏完成的吗? - rajeev kumar
setSupportProgressBarIndeterminateVisibility()已被弃用且无操作。 - Sky Kelsey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接