片段未正确填充屏幕

时间:2016-10-13 00:48:32

标签: android android-fragments measurement

我在另一个片段中实例化片段。内部片段的布局定义为宽度和高度match_parent。还有他们的父母。

这是主片段的代码。内部的CustomFragment是内部Fragment。它是一个带日历的常规片段。

public class CalendarFragment extends Fragment {
...
public void onViewCreated( LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState ){
customFragment = new CustomFragment();
                    customFragment.setArguments( bundle );

                    FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
                    transaction.add( R.id.calendar_container, customFragment );
                    transaction.commit();
...
}

当此片段生效时,包含日历的内部片段会根据每个日历单元格的内容调整其高度。 截图。注意空白区域:

enter image description here 如果两个片段在其布局中都有match_parent,为什么会出现这种情况?

2 个答案:

答案 0 :(得分:0)

  1. 请确保您的第二个片段(如果有)的容器也是match_parent
  2. 尝试给片段不同的背景颜色(即android:color / red)以检查片段是否实际上已经全屏,但具有透明背景。并且您的日历视图仅位于片段区域的一小部分上。

答案 1 :(得分:0)

尝试替换此行:

transaction.add( R.id.calendar_container, customFragment );

这一行:

transaction.replace(R.id.calendar_container, customFragment);

并在提交行之后添加此行:

getFragmentManager().executePendingTransactions();

我希望它对你有所帮助,对我来说,它正在做这项工作。