Ich habe eine Aktivität, das ist ein Material Design-Schublade, und einige Fragmente, die aus der Aktivität Java-Datei aufgerufen werden, wenn ein Benutzer auf eine Option der Schublade klickt. Das Problem besteht darin, dass das Fragmentlayout die Titelleiste der Aktivität überlappt und den gesamten Bildschirm abdeckt, anstatt innerhalb der Aktivität positioniert zu sein. In der Android Studio Vorschau, ist Fragment Inhalt richtig eingestellt: Fragment Layout Überlappungen Aktivität Titelleiste
Aber wenn ich die apk in mein Handy laden, ich sehe etwas wie folgt aus:
Hier ist meine Quellcode: - fragment_layout. xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin">
<EditText
android:id="@+id/subjectSelector"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:hint="Write subject initials"/>
<Button
android:id="@+id/queryButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
style="@style/Base.Widget.AppCompat.Button.Borderless"
android:text="Search"
android:layout_alignBottom="@+id/subjectSelector"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/subjectSelector"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/subjectName"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/subjectTeachers"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/subjectDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/subjectCredits"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</ScrollView>
</RelativeLayout>
Drawer.java
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
Fragment newFragment;
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
if (id == R.id.nav_timetable) {
newFragment = new TimetableMainMenu();
} else if (id == R.id.nav_notifications) {
newFragment = new NotificationsMainMenu();
} else if (id == R.id.nav_schedule) {
newFragment = new ScheduleMainMenu();
} else if (id == R.id.nav_class_availability) {
newFragment = new ClassAvailabilityMainMenu();
} else if (id == R.id.nav_subject_info) {
newFragment = new SubjectInfoMainMenu();
} else newFragment = null;
if (newFragment != null) {
transaction.replace(R.id.main_menu_fragment_container, newFragment);
transaction.addToBackStack(null);
} else {
Toast.makeText(MainMenuActivity.this, "Not implemented yet", Toast.LENGTH_SHORT).show();
}
transaction.commit();
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
- MainMenu.xml (Sorry, ich kann nicht als Code-Format aktualisieren diese)
- app_bar_main_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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"
android:fitsSystemWindows="true"
tools:context="com.upc.fib.racopocket.MainMenuActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main_menu" />
</android.support.design.widget.CoordinatorLayout>
content_main_menu.xml
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main_menu_fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" />
Wie kann ich dieses Problem beheben?
können Sie Ihre 'app_bar_main_menu.xml' teilen? und alle anderen nachfolgenden Layouts – jitinsharma