是否可以将CoordinatorLayout中的布局/视图居中?

Hải*_*yễn 40 android android-coordinatorlayout

我有一个FrameLayout内部CoordinatorLayout来膨胀我的碎片包含RecyclerView.问题是,我想在加载时显示进度条RecyclerView,但进度条始终位于屏幕下方的顶部Toolbar.我尝试了各种布局,设置gravity或者centerInParent没有工作.有没有办法实现这个目标?

Def*_*era 51

    android:layout_gravity="center" 
Run Code Online (Sandbox Code Playgroud)

工作得很好.并删除你的FrameLayout,这是多余的.


Hải*_*yễn 8

经过一些研究后,我找不到一种方法来完成这项工作,所以最后我做到了这一点:

  1. 将进度条放在CoordinatorLayout中android:layout_gravity="center".
  2. 在活动中,使用2种方法显示/隐藏进度条:

    public void showProgress() {
          progressBar.setVisibility(View.VISIBLE);
    }
    
    public void hideProgress() {
          progressBar.setVisibility(View.INVISIBLE);
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在片段中,获取上述活动的引用getActivity(),将其转换为实际活动并调用必要的方法.

    context = getActivity();
    ((MainActivity)context).showProgress();
    
    Run Code Online (Sandbox Code Playgroud)

编辑:这似乎在支持库23.1.1中得到修复