اذهب إلى المحتوى

السؤال

نشر

ممكن مساعدة كيف اعمل قائمة جانبية في برنامج اندرويد ستوديو؟؟؟؟

حضرت كتير فيديوهات عاليوتيوب وطبقت وولا واحد زبط معايا مش عارفة ايش اعمل ؟؟

القائمة الجانبية يلي بسحبها من جنب وبسكرها نفس الصورة الثانية وبتكون معروفة تعت هاد الايقونة مش القائمة الثلاث نقط..  

settings.png

Untitled.png

Recommended Posts

  • 0
نشر
  • الخطوة 1: إنشاء مشروع Android Studio جديد

قم بإنشاء مشروع استوديو android لنشاط فارغ. 

  • الخطوة 2: إضافة تبعية إلى المشروع

في هذه المناقشة ، سنستخدم درج التنقل في Material Design . لذا أضف تبعية تصميم المواد التالية إلى ملف Gradle على مستوى التطبيق.

implementation 'com.google.android.material:material:1.3.0-alpha03'

ارجع إلى الصورة التالية إذا لم تتمكن من تحديد موقع ملف Gradle على مستوى التطبيق الذي يستدعي التبعية (ضمن عرض التسلسل الهرمي للمشروع). بعد استدعاء التبعية ، انقر على زر "Sync Now". تأكد من اتصال النظام بالشبكة حتى يقوم Android Studio بتنزيل الملفات المطلوبة.

638ae721b27d1_NewProject.thumb.jpg.7401894e08f5832615ba6d1939e62ce1.jpg

  • الخطوة 3: إنشاء قائمة في مجلد القائمة

قم بإنشاء مجلد القائمة تحت مجلد res. لتنفيذ القائمة. الرجوع إلى الفيديو التالي لإنشاء التخطيط لتنفيذ القائمة.

وهذا فيديو توضيحي للخطوة

استدعاء التعليمات البرمجية التالية في navigation_menu.xml XML

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:tools="http://schemas.android.com/tools"
	tools:ignore="HardcodedText">

	<item
		android:id="@+id/nav_account"
		android:title="My Account" />

	<item
		android:id="@+id/nav_settings"
		android:title="Settings" />

	<item
		android:id="@+id/nav_logout"
		android:title="Logout" />

</menu>
  • الخطوة 4: العمل مع ملف activity_main.xml

قم باستدعاء الكود التالي في activity_main.xml لإعداد الأشياء الأساسية المطلوبة لدرج التنقل. XML

<?xml version="1.0" encoding="utf-8"?>

<!-- the root view must be the DrawerLayout -->

<androidx.drawerlayout.widget.DrawerLayout
	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:id="@+id/my_drawer_layout"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	tools:context=".MainActivity"
	tools:ignore="HardcodedText">

	<LinearLayout
		android:layout_width="match_parent"
		android:layout_height="match_parent">

		<TextView
			android:layout_width="match_parent"
			android:layout_height="wrap_content"
			android:layout_marginTop="128dp"
			android:gravity="center"
			android:text="أكاديمية حسوب"
			android:textSize="18sp" />
	</LinearLayout>

	<!-- this the navigation view which draws and shows the navigation drawer -->
	<!-- include the menu created in the menu folder -->
	<com.google.android.material.navigation.NavigationView
		android:layout_width="wrap_content"
		android:layout_height="match_parent"
		android:layout_gravity="start"
		app:menu="@menu/navigation_menu" />

</androidx.drawerlayout.widget.DrawerLayout>

شيء واحد يجب ملاحظته هو أن رمز درج القائمة لا يزال غير ظاهر على شريط الإجراءات. نحتاج إلى تعيين الرمز ووظائفه المفتوحة والإغلاق برمجيًا.

  • الخطوة 5: قم بتضمين سلاسل Open Close في سلسلة string.xml

قم باستدعاء الكود التالي في ملف app / res / القيم / strings.xml. XML

<resources>
	<string name="app_name">Navigation Drawer</string>
<!-- للتبديل بين زر فتح الإغلاق لدرج التنقل -->
  <string name="nav_open">Open</string>
	<string name="nav_close">Close</string>
</resources>
  • الخطوة 6: العمل مع ملف MainActivity

قم باستدعاء الكود التالي في ملف MainActivity لإظهار رمز القائمة على شريط الإجراءات وتنفيذ وظيفة الفتح والإغلاق لدرج التنقل. تمت إضافة التعليقات داخل الكود من أجل فهم أفضل.

import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.drawerlayout.widget.DrawerLayout;
import android.os.Bundle;
import android.view.MenuItem;

public class MainActivity extends AppCompatActivity {

	public DrawerLayout drawerLayout;
	public ActionBarDrawerToggle actionBarDrawerToggle;

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

// مثيل تخطيط الدرج لتبديل رمز القائمة لفتحه
// الدرج وزر الرجوع لإغلاق الدرج
		drawerLayout = findViewById(R.id.my_drawer_layout);
		actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.nav_open, R.string.nav_close);
// تمرير مفتاح التبديل فتح وإغلاق لمستمع تخطيط الدرج
// لتبديل الزر
		drawerLayout.addDrawerListener(actionBarDrawerToggle);
		actionBarDrawerToggle.syncState();

// لجعل رمز درج التنقل يظهر دائمًا على شريط الإجراءات
      getSupportActionBar().setDisplayHomeAsUpEnabled(true);
	}

// تجاوز onOptionsItemSelected ()
// وظيفة للتنفيذ
// العنصر انقر فوق رد الاتصال المستمع
// لفتح وإغلاق التنقل
// الدرج عند النقر على الأيقونة
	@Override
	public boolean onOptionsItemSelected(@NonNull MenuItem item) {

		if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}

 

  • 0
نشر

ما 

بتاريخ On 12/3/2022 at 08:15 قال Ahmed Sadek:
  • الخطوة 1: إنشاء مشروع Android Studio جديد

قم بإنشاء مشروع استوديو android لنشاط فارغ. 

  • الخطوة 2: إضافة تبعية إلى المشروع

في هذه المناقشة ، سنستخدم درج التنقل في Material Design . لذا أضف تبعية تصميم المواد التالية إلى ملف Gradle على مستوى التطبيق.


implementation 'com.google.android.material:material:1.3.0-alpha03'

ارجع إلى الصورة التالية إذا لم تتمكن من تحديد موقع ملف Gradle على مستوى التطبيق الذي يستدعي التبعية (ضمن عرض التسلسل الهرمي للمشروع). بعد استدعاء التبعية ، انقر على زر "Sync Now". تأكد من اتصال النظام بالشبكة حتى يقوم Android Studio بتنزيل الملفات المطلوبة.

638ae721b27d1_NewProject.thumb.jpg.7401894e08f5832615ba6d1939e62ce1.jpg

  • الخطوة 3: إنشاء قائمة في مجلد القائمة

قم بإنشاء مجلد القائمة تحت مجلد res. لتنفيذ القائمة. الرجوع إلى الفيديو التالي لإنشاء التخطيط لتنفيذ القائمة.

وهذا فيديو توضيحي للخطوة

استدعاء التعليمات البرمجية التالية في navigation_menu.xml XML


<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:tools="http://schemas.android.com/tools"
	tools:ignore="HardcodedText">

	<item
		android:id="@+id/nav_account"
		android:title="My Account" />

	<item
		android:id="@+id/nav_settings"
		android:title="Settings" />

	<item
		android:id="@+id/nav_logout"
		android:title="Logout" />

</menu>
  • الخطوة 4: العمل مع ملف activity_main.xml

قم باستدعاء الكود التالي في activity_main.xml لإعداد الأشياء الأساسية المطلوبة لدرج التنقل. XML


<?xml version="1.0" encoding="utf-8"?>

<!-- the root view must be the DrawerLayout -->

<androidx.drawerlayout.widget.DrawerLayout
	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:id="@+id/my_drawer_layout"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	tools:context=".MainActivity"
	tools:ignore="HardcodedText">

	<LinearLayout
		android:layout_width="match_parent"
		android:layout_height="match_parent">

		<TextView
			android:layout_width="match_parent"
			android:layout_height="wrap_content"
			android:layout_marginTop="128dp"
			android:gravity="center"
			android:text="أكاديمية حسوب"
			android:textSize="18sp" />
	</LinearLayout>

	<!-- this the navigation view which draws and shows the navigation drawer -->
	<!-- include the menu created in the menu folder -->
	<com.google.android.material.navigation.NavigationView
		android:layout_width="wrap_content"
		android:layout_height="match_parent"
		android:layout_gravity="start"
		app:menu="@menu/navigation_menu" />

</androidx.drawerlayout.widget.DrawerLayout>

شيء واحد يجب ملاحظته هو أن رمز درج القائمة لا يزال غير ظاهر على شريط الإجراءات. نحتاج إلى تعيين الرمز ووظائفه المفتوحة والإغلاق برمجيًا.

  • الخطوة 5: قم بتضمين سلاسل Open Close في سلسلة string.xml

قم باستدعاء الكود التالي في ملف app / res / القيم / strings.xml. XML


<resources>
	<string name="app_name">Navigation Drawer</string>
<!-- للتبديل بين زر فتح الإغلاق لدرج التنقل -->
  <string name="nav_open">Open</string>
	<string name="nav_close">Close</string>
</resources>
  • الخطوة 6: العمل مع ملف MainActivity

قم باستدعاء الكود التالي في ملف MainActivity لإظهار رمز القائمة على شريط الإجراءات وتنفيذ وظيفة الفتح والإغلاق لدرج التنقل. تمت إضافة التعليقات داخل الكود من أجل فهم أفضل.


import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.drawerlayout.widget.DrawerLayout;
import android.os.Bundle;
import android.view.MenuItem;

public class MainActivity extends AppCompatActivity {

	public DrawerLayout drawerLayout;
	public ActionBarDrawerToggle actionBarDrawerToggle;

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

// مثيل تخطيط الدرج لتبديل رمز القائمة لفتحه
// الدرج وزر الرجوع لإغلاق الدرج
		drawerLayout = findViewById(R.id.my_drawer_layout);
		actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.nav_open, R.string.nav_close);
// تمرير مفتاح التبديل فتح وإغلاق لمستمع تخطيط الدرج
// لتبديل الزر
		drawerLayout.addDrawerListener(actionBarDrawerToggle);
		actionBarDrawerToggle.syncState();

// لجعل رمز درج التنقل يظهر دائمًا على شريط الإجراءات
      getSupportActionBar().setDisplayHomeAsUpEnabled(true);
	}

// تجاوز onOptionsItemSelected ()
// وظيفة للتنفيذ
// العنصر انقر فوق رد الاتصال المستمع
// لفتح وإغلاق التنقل
// الدرج عند النقر على الأيقونة
	@Override
	public boolean onOptionsItemSelected(@NonNull MenuItem item) {

		if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}

 

ما زبطت معايا صار يفتح التطبيق ويسكر بدون ما يشتغل..ما بعرف شو المشكلة

..

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...