片段未显示其完整宽度和高度

时间:2019-07-03 04:38:04

标签: java android android-layout android-fragments

我正在我的Android应用程序中创建一个滑动菜单。但是在运行时,我的所有片段都没有显示出由“ match_parent”设置的完整大小。

**这是图片:**

enter image description here

这是我的代码

布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:background="@android:color/holo_red_light"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="@string/hello_blank_fragment" />
</FrameLayout>

Java代码:

public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
        switch (menuItem.getItemId()){
            case R.id.nav_place_order:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new PlaceOrderPage1Fragment()).commit();
                break;

            case R.id.nav_profile:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new ProfileFragment()).commit();
                break;

            case R.id.nav_settings:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new SettingsFragment()).commit();
                break;

            case R.id.sample:
                Toast.makeText(this,"Sample",Toast.LENGTH_SHORT).show();
                break;

        }

1 个答案:

答案 0 :(得分:0)

检查您的片段onCreateView()方法

您应该像这样膨胀视图:

val root = inflater.inflate(R.layout.list_content,container, false);
return root

并确保在进行片段交易时添加片段的place_holder可见

fragmentTransaction.replace(R.id.fragment_container, YourFragment())

在上面的代码中,请确保fragment_container可见并且具有适当的高度和宽度