fix drawarlayout

This commit is contained in:
Ishan09811 2024-02-07 01:11:12 +05:30 committed by GitHub
commit e4428c903c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 117 additions and 95 deletions

View file

@ -12,6 +12,8 @@ import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatTextView; import androidx.appcompat.widget.AppCompatTextView;
import androidx.drawerlayout.widget.DrawerLayout; import androidx.drawerlayout.widget.DrawerLayout;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import com.google.android.material.navigation.NavigationView; import com.google.android.material.navigation.NavigationView;
import com.panda3ds.pandroid.AlberDriver; import com.panda3ds.pandroid.AlberDriver;
@ -47,7 +49,6 @@ public class DrawerFragment extends Fragment implements DrawerLayout.DrawerListe
((AppCompatTextView)view.findViewById(R.id.game_publisher)).setText(game.getPublisher()); ((AppCompatTextView)view.findViewById(R.id.game_publisher)).setText(game.getPublisher());
((NavigationView)view.findViewById(R.id.action_navigation)).setNavigationItemSelectedListener(this); ((NavigationView)view.findViewById(R.id.action_navigation)).setNavigationItemSelectedListener(this);
((NavigationView)view.findViewById(R.id.others_navigation)).setNavigationItemSelectedListener(this);
} }
@Override @Override
@ -80,6 +81,17 @@ public class DrawerFragment extends Fragment implements DrawerLayout.DrawerListe
} }
} }
private void changeScreenOrientation() {
int currentOrientation = getResources().getConfiguration().orientation;
// Change the orientation
if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) {
requireActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else {
requireActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}
@Override @Override
public void onDrawerSlide(@NonNull View drawerView, float slideOffset) {} public void onDrawerSlide(@NonNull View drawerView, float slideOffset) {}
@ -106,6 +118,8 @@ public class DrawerFragment extends Fragment implements DrawerLayout.DrawerListe
requireActivity().finish(); requireActivity().finish();
} else if (id == R.id.lua_script){ } else if (id == R.id.lua_script){
new LuaDialogFragment().show(getParentFragmentManager(), null); new LuaDialogFragment().show(getParentFragmentManager(), null);
} else if (id == R.id.change_orientation) {
changeScreenOrientation();
} }
return false; return false;

View file

@ -1,13 +1,19 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout <androidx.drawerlayout.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"
android:background="?colorSurface"> android:background="?colorSurface">
<!-- Main content layout -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- Game related content -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -49,6 +55,10 @@
android:paddingBottom="4dp" android:paddingBottom="4dp"
android:gravity="center" android:gravity="center"
android:textStyle="bold" android:textStyle="bold"
android:ellipsize="marquee"
style="?attr/textAppearanceTitleSmall"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:textSize="19sp"/> android:textSize="19sp"/>
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
@ -63,44 +73,25 @@
</LinearLayout> </LinearLayout>
<ScrollView </LinearLayout>
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp">
<!-- Drawer content layout -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical"
android:gravity="start"
<androidx.appcompat.widget.AppCompatTextView android:layout_marginTop="195dp">
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/actions"
style="@style/TextAppearanceGameDrawerSubTitle"/>
<com.google.android.material.navigation.NavigationView <com.google.android.material.navigation.NavigationView
android:id="@+id/action_navigation" android:id="@+id/action_navigation"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:menu="@menu/game_drawer_actions" app:menu="@menu/game_drawer_settings"
android:background="?colorSurface"/> android:background="?colorSurface"
android:theme="@style/Widget.App.NavigationView"
<androidx.appcompat.widget.AppCompatTextView app:subheaderTextAppearance="@style/TextAppearanceGameDrawerSubTitle"/>
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/others"
style="@style/TextAppearanceGameDrawerSubTitle"/>
<com.google.android.material.navigation.NavigationView
android:id="@+id/others_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:menu="@menu/game_drawer_others"
android:background="?colorSurface"/>
</LinearLayout> </LinearLayout>
</ScrollView> </androidx.drawerlayout.widget.DrawerLayout>
</LinearLayout>

View file

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/resume"
android:icon="@drawable/ic_shortcut"
android:title="@string/resume"/>
<item
android:id="@+id/exit"
android:icon="@drawable/ic_exit"
android:title="@string/exit"/>
</menu>

View file

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/lua_script"
android:icon="@drawable/ic_code"
android:title="@string/lua_script"/>
</menu>

View file

@ -0,0 +1,35 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
android:divider="@null"
android:dividerHeight="0dp">
<item
android:id="@+id/header_actions"
android:title="Actions">
<menu>
<item
android:id="@+id/resume"
android:icon="@drawable/ic_shortcut"
android:title="@string/resume" />
<item
android:id="@+id/exit"
android:icon="@drawable/ic_exit"
android:title="@string/exit"/>
</menu>
</item>
<item
android:id="@+id/header_others"
android:title="Others">
<menu>
<item
android:id="@+id/change_orientation"
android:icon="@drawable/ic_rotate_screen"
android:title="Rotate" />
<item
android:id="@+id/lua_script"
android:icon="@drawable/ic_code"
android:title="@string/lua_script" />
</menu>
</item>
</menu>