我的应用程序正在使用FragmentPagerAdapter将片段添加到ViewPager。 问题是属性android:fitsSystemWindows="true"不起作用。 它不会向元素添加填充。

我的主要布局如下:

<android.support.constraint.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.TabLayout
        android:id="@+id/viewPagerTab"
        android:layout_width="0dp"
        android:layout_height="48dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:tabIndicatorColor="@android:color/transparent"/>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/viewPagerTab"/>
</android.support.constraint.ConstraintLayout>

我设置我的适配器并添加片段。

    MainPagerAdapter adapter = new MainPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new TestFragment(), "Test");
    adapter.addFragment(new GroupFragmentManager(), "Group");
    adapter.addFragment(new ProfileFragment(), "User");
    viewPager.setAdapter(adapter);

    viewPagerTab.setupWithViewPager(viewPager);

我的寻呼机看起来像这样:

private class MainPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public MainPagerAdapter(FragmentManager manager){
        super(manager);
    }

    @Override
    public Fragment getItem(int position) {
        return mFragmentList.get(position);
    }

    @Override
    public int getCount() {
        return mFragmentList.size();
    }

    public void addFragment(Fragment fragment, String title){
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }
}

ProfileFragment的布局只包含简单的测试内容。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:fitsSystemWindows="true">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Profile"
        android:fitsSystemWindows="true"/>
</LinearLayout>

但它仍然没有画出填充物。 我也设置了正确的款式。

<style name="Base.Theme.SnowLink" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">#FF4081</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>

    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:windowTranslucentNavigation">true</item>
</style>

我搜索并测试了很多。 我认为android在加载的片段中存在一些问题,因为它在活动布局中有效。 我也使用数据绑定。

提前致谢!

  ask by Oliver Adam translate from so

本文未有回复,本站智能推荐:

2回复

如何以编程方式向布局添加两个片段?

我在一个布局中附加两个片段有麻烦。 我知道如何在布局中添加一个片段,但是我不知道如何在java android中垂直放置两个片段。 这里已经详细说明了添加一个片段,但是没有教程可以将两个或多个片段放在一个布局中。
2回复

在片段活动中更改选项卡的标题

我想在选项卡式活动中更改选项卡的标题。 当前使用以下代码,我可以切换到选项卡,但是在到达通知时无法更改选项卡标题。 如何更改标签的标题。 上面的代码有助于更改或切换到mytab。 尝试下面的代码检查选项卡的标题 但是由于pagerAdapter没有与任何选项卡相关联,因此在调用任
1回复

在片段中使用FragmentManager?

我真的有麻烦了。 我正在尝试从一个片段打开一个对话框片段,但我无法让它工作 所以用FragmentManager fragmentManager1 = getFragmentManager(); 行foldersDialogFragment.show(fragmentManager, "folder
1回复

更改片段破坏我的布局

有人可以为我提供以下帮助吗:我只想单击一下按钮,中间的片段会发生变化: 但是,如果我单击一个,则会发生以下情况: 谁知道,怎么了? 我的片段只是带有文本框的简单LineaLayouts。 我的Main.xml看起来像这样: 要更改片段,我使用此调用: 非常感谢!!
2回复

如何创建片段而不覆盖我的活动?

我将此导航抽屉库更改为mikepenz的材料抽屉库 。 因为当导入要使用的库时,第一个库给出了错误。 但是在第一个图书馆,我正在处理导航抽屉项目,如下所示: 对于第二个库,我收到“找不到R.id.container”错误。 我猜容器ID是在库内部创建的。 由于这个原因,我试图放置一个
1回复

OnClickListener和片段导致应用程序崩溃

我正在尝试使用片段以编程方式更改屏幕上的文本。 为此,我在文本视图上设置了一个on click侦听器,然后单击它以启动片段管理器,用新片段替换当前片段。 但是,这会导致我的应用在启动时崩溃。 通过阅读崩溃报告,似乎错误发生在tv1.setOnClickLIstener ... 最后,
1回复

查找动态创建的片段的内部视图

我已经动态地将一个片段添加到另一个片段。 我需要在该片段中找到一些视图。 我如何实现这一目标? 这是我的代码: 我想在Dynamic片段中找到这些视图:
1回复

Android片段显示退出动画

我必须创建一个包含约6个片段的活动,一个重要的要求是使碎片在一个方向上进行动画处理,并向后朝与它们进入的方向相同的方向进行动画处理,我已经找到了可以对输入动画进行动画处理的解决方案,但是退出动画永远不会运行,任何帮助将大有帮助! 活动 } enter_right_anim.xml