我需要在ProgressBar
内的Fragment
中的任何ViewPager
中显示AppCompatActivity
。
尝试requestWindowFeature
和supportRequestWindowFeature
方法无济于事。所以基于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
似乎可以使用进度条,但只是不会显示在工具栏中。
这应该有问题,但我无法弄清楚。还是有更好的方法?
非常感谢提前。