يبدو أن هناك مشكلة في تخطيط XML الخاص بتطبيقك. الخطأ الذي تواجهه يشير إلى عدم وجود سمة layout_width
في أحد العناصر. عند فحص الشيفرة التي قدمتها، يظهر أن هناك خطأ في وضع العنصر
حيث قمت بإغلاق العنصر
بعد أن قمت بإضافة العناصر الداخلية له. يجب عليك إعادة ترتيب عناصر XML بحيث تغلق
في النهاية بعد وضع جميع العناصر الداخلية فيه.
بالإضافة إلى ذلك، تحتاج إلى التأكد من أن كل عنصر له سمتي layout_width
و layout_height
وأن القيم التي تم تحديدها صحيحة. على سبيل المثال، يجب أن يكون لدى LinearLayout
الذي يحتوي على AppBarLayout
و ViewPager
قيمة layout_height
تساوي wrap_content
بدلاً من match_parent
لأنه يحتوي على عناصر قابلة للتمدد داخله.
إليك ترتيبًا محتملاً لعناصر XML لتحقيق التخطيط المرغوب:
xml"1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="65dp"
android:background="@color/signal_toolbar_color"
android:titleTextColor="#ffffff">
android.support.v7.widget.Toolbar>
android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/vp_horizontal_ntb"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/activity_main_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="20dp"
android:clickable="true"
android:src="@drawable/ic_add_circle_outline"
android:tint="@color/white"
android:visibility="gone"
app:backgroundTint="@color/signal_secondary_color"
app:layout_behavior="ir.pishguy.signalpresentationproject.Configurations.ScrollAwareFABBehavior"/>
<ir.pishguy.signalpresentationproject.Widgets.CircularRevealView
android:id="@+id/market_item_reveal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"/>
android.support.design.widget.CoordinatorLayout>
<com.lapism.searchview.SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
FrameLayout>
يرجى ملاحظة أنني قمت بنقل عناصر
و
داخل
مع تغيير قيمة layout_height
لـ LinearLayout
إلى wrap_content
بدلاً من match_parent
. يجب أن يكون هذا الترتيب مفيدًا لتجنب الخطأ الذي تواجهه.
المزيد من المعلومات
بالتأكيد، هنا بعض المعلومات الإضافية حول مشكلة تخطيط XML الخاص بتطبيقك:
-
FrameLayout في نهاية الملف: تأكد من أن جميع العناصر الأخرى مثل
CoordinatorLayout
وSearchView
تكون داخلFrameLayout
وليس خارجه. يجب أن يكون الإغلاق النهائي لـFrameLayout
في نهاية الملف XML. -
إعادة الترتيب لعناصر
CoordinatorLayout
: تأكد من أن عناصرFloatingActionButton
وCircularRevealView
تكون داخلCoordinatorLayout
وليس خارجه. يجب أن تكون هذه العناصر جزءًا من تخطيطCoordinatorLayout
لتحقيق السلوك المتوقع. -
التحقق من السمات في جميع العناصر: تأكد من أن جميع العناصر لديها السمات اللازمة مثل
layout_width
وlayout_height
بقيم صحيحة. يمكنك أيضًا التحقق من وجود أي سمة أخرى مطلوبة للعنصر. -
التحقق من القيم المستخدمة: تأكد من أن القيم المستخدمة لـ
layout_width
وlayout_height
صحيحة. على سبيل المثال، يجب أن تكون القيمmatch_parent
أوwrap_content
تبعًا لمتطلبات تخطيط العنصر. -
تحليل الخطأ بالتفصيل: قد يكون من المفيد تحليل الخطأ بالتفصيل لفهم المكان الذي يحدث فيه الخطأ بشكل أفضل. يمكن أن يكون هذا عن طريق فحص ملف
logcat
أو استخدام ميزات تحليل XML في بعض برامج تحرير النصوص.
مع التأكد من هذه النقاط، يجب أن تكون قادرًا على تصحيح مشكلة الخطأ التي تواجهها في تخطيط XML الخاص بتطبيقك.