Java 如何将ScrollView添加到导航抽屉

Java 如何将ScrollView添加到导航抽屉,java,android,android-studio,android-fragments,scrollview,Java,Android,Android Studio,Android Fragments,Scrollview,我想将ScrollView添加到导航抽屉中,我第一次尝试在ScrollView下创建线性布局,但当我打开片段时,导航抽屉显示在片段下。我想让我的片段保持不变,而导航抽屉现在显示在片段后面,导航抽屉有滚动视图 出票人代码: public class drawer_home extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { private DrawerLayout draw

我想将ScrollView添加到导航抽屉中,我第一次尝试在ScrollView下创建线性布局,但当我打开片段时,导航抽屉显示在片段下。我想让我的片段保持不变,而导航抽屉现在显示在片段后面,导航抽屉有滚动视图

出票人代码:

public class drawer_home extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {


private DrawerLayout drawer;
Toolbar toolbar;

TextView mStartDate, mEndDate, mPlan, mDays;
FirebaseAuth firebaseAuth;
FirebaseUser user;
FirebaseDatabase firebaseDatabase;
DatabaseReference databaseReference;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_drawer_home);

    toolbar = findViewById(R.id.tb);
    mStartDate = findViewById(R.id.startDateTV);
    mEndDate = findViewById(R.id.endDateTV);
    mPlan = findViewById(R.id.planTV);
    mDays = findViewById(R.id.daysTV);

    setSupportActionBar(toolbar);
    /*TextView textView = (TextView)toolbar.findViewById(R.id.toolbartv);
    textView.setText("No Excusas");
    getSupportActionBar().setDisplayShowTitleEnabled(false);*/

    drawer = findViewById(R.id.drawer_layout);
    NavigationView navigationView = findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);

    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar,
            R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.addDrawerListener(toggle);
    toggle.syncState();

    if(savedInstanceState == null) {

        getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                new androidx.fragment.app.Fragment()).commit();
        navigationView.setCheckedItem(R.id.nav_homeMain);
    }
    firebaseAuth = FirebaseAuth.getInstance();
    user = firebaseAuth.getCurrentUser();
    firebaseDatabase = FirebaseDatabase.getInstance();
    databaseReference = firebaseDatabase.getReference("Users");
    Query query = databaseReference.orderByChild("email").equalTo(user.getEmail());
    query.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            //checkc until requiered data get
            for (DataSnapshot ds : dataSnapshot.getChildren()) {

                String startdate = "Fecha de Inicio = " + ds.child("Start Date").getValue();
                String enddate = "Fecha de Salida = " + ds.child("End Date").getValue();
                String plan = "Plan = " + ds.child("Plan").getValue();
                String days = "Tu plan acaba en " + ds.child("Days Left").getValue() +" dias ";


                mStartDate.setText(startdate);
                mEndDate.setText(enddate);
                mPlan.setText(plan);
                mDays.setText(days);


            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }

    });

}


@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
    switch (item.getItemId()) {
        case R.id.nav_homeMain:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new androidx.fragment.app.Fragment()).commit();
            break;
        case R.id.nav_qr:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new QRcodeFragment()).commit();
            break;
        case R.id.nav_profile:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new UserProfile()).commit();
            break;
        case R.id.nav_order:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new OrdersActivity()).commit();
            break;
        case R.id.nav_nutrition:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new NutritionActivity()).commit();
            break;
        case R.id.nav_chat:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new ContactActivity()).commit();
            break;
        case R.id.nav_coach:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new CoachesActivity()).commit();
            break;
        case R.id.nav_information:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new AboutUsActivity()).commit();
            break;
    }

    drawer.closeDrawer(GravityCompat.START);
    return true;
}

@Override
public void onBackPressed() {
    if (drawer.isDrawerOpen(GravityCompat.START)) {
        drawer.closeDrawer(GravityCompat.START);
    } else {
        super.onBackPressed();
    }


}
}

xml:

当主要内容可滚动时,它显示在第一个片段下


我想你必须

<com.google.android.material.navigation.NavigationView
    ...
    android:fitsSystemWindows="true"
    android:isScrollContainer="true"
    ... />

我想您必须设置

<com.google.android.material.navigation.NavigationView
    ...
    android:fitsSystemWindows="true"
    android:isScrollContainer="true"
    ... />

得到了很多帮助并解决了这个问题

添加scrollview以分离片段并合并到onCreate中

'''

滚动视图

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/startDateTV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="5dp"
        android:layout_marginTop="200dp"
        android:textColor="@color/colorWhite"
        android:textSize="30sp"
        android:textStyle="bold" />

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/colorWhite" />

    <TextView
        android:id="@+id/endDateTV"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:textStyle="bold"
        android:layout_marginStart="5dp"
        android:textColor="@color/colorWhite"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/colorWhite" />

    <TextView
        android:id="@+id/planTV"
        android:layout_width="match_parent"
        android:textSize="30sp"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:layout_marginStart="5dp"
        android:textColor="@color/colorWhite"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/colorWhite" />

    <TextView
        android:id="@+id/daysTV"
        android:layout_width="match_parent"
        android:textSize="30sp"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:layout_marginStart="5dp"
        android:textColor="@color/colorWhite"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/colorWhite" />

</LinearLayout>
xmlns:android=”http://schemas.android.com/apk/res/android"
xmlns:app=”http://schemas.android.com/apk/res-auto"
xmlns:tools=”http://schemas.android.com/tools"
android:layout\u width=“匹配父项”
android:layout\u height=“match\u parent”>

得到了很多帮助并找到了答案

添加scrollview以分离片段并合并到onCreate中

'''

滚动视图

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/startDateTV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="5dp"
        android:layout_marginTop="200dp"
        android:textColor="@color/colorWhite"
        android:textSize="30sp"
        android:textStyle="bold" />

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/colorWhite" />

    <TextView
        android:id="@+id/endDateTV"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:textStyle="bold"
        android:layout_marginStart="5dp"
        android:textColor="@color/colorWhite"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/colorWhite" />

    <TextView
        android:id="@+id/planTV"
        android:layout_width="match_parent"
        android:textSize="30sp"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:layout_marginStart="5dp"
        android:textColor="@color/colorWhite"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/colorWhite" />

    <TextView
        android:id="@+id/daysTV"
        android:layout_width="match_parent"
        android:textSize="30sp"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:layout_marginStart="5dp"
        android:textColor="@color/colorWhite"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/colorWhite" />

</LinearLayout>
xmlns:android=”http://schemas.android.com/apk/res/android"
xmlns:app=”http://schemas.android.com/apk/res-auto"
xmlns:tools=”http://schemas.android.com/tools"
android:layout\u width=“匹配父项”
android:layout\u height=“match\u parent”>

感谢您的回复,我混淆了Mike M所述的术语。我需要主要内容可滚动感谢您的回复,我混淆了Mike M所述的术语。我需要主要内容可滚动评论不用于扩展讨论;此对话已结束。评论不用于扩展讨论;这段对话已经结束。