AppCompatActivity工具栏中的ProgressBar

时间:2016-02-09 17:58:30

标签: android android-fragments android-viewpager progress-bar appcompat-v7-r23

我需要在ProgressBar内的Fragment中的任何ViewPager中显示AppCompatActivity

尝试requestWindowFeaturesupportRequestWindowFeature方法无济于事。所以基于this answer,这是我正在尝试的内容:

设置如下进度条:

public class MyMain extends AppCompatActivity
{
    public static ProgressBar progressBar;
       :
       :
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
         :
         :
         setContentView(...);
         :
         :
         toolbar = (android.support.v7.widget.Toolbar)findViewById(R.id.toolbar);
         setSupportActionBar(toolbar);
         progressBar = (ProgressBar) findViewById(R.id.toolbarProgress);
         :
         :              
    } 
}

XML代码段如下:

<RelativeLayout android:id="@+id/rlMyMain"
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

<android.support.v4.widget.DrawerLayout
    android:id="@+id/mainDrawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/mainDrawerBackground">

    <!-- Main content layout -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <LinearLayout
            android:id="@+id/toolbarLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/primaryColor">

                <ProgressBar
                    android:id="@+id/toolbarProgress"
                    style="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:indeterminate="true"
                    android:visibility="gone"/>

            </android.support.v7.widget.Toolbar>

        </LinearLayout>
        :
        :
        :
        :

MyMain包含ViewPager,其中包含Fragment个。从Fragment中的任何一个,我试图使用此代码显示进度:

((MyMain)getActivity()).progressBar.setVisibility(View.VISIBLE);

由于没有编译或运行时错误,Fragment似乎可以使用进度条,但只是不会显示在工具栏中。

这应该有问题,但我无法弄清楚。还是有更好的方法?

非常感谢提前。

0 个答案:

没有答案