سؤال

أقوم بعمل قائمة لتطبيق وأشار إليها هذا المورد المفيد الذي يسرد جميع القواطع التي تشكل جزءًا من جرة Android 2.0. مثال الاستخدام المقدم

myMenuItem.setIcon(android.R.drawable.ic_menu_save);

لسوء الحظ ، فإن الشخص الذي أريده (ومعظم القائمة) غير متوفر افتراضيًا. انا حصلت

android.R.drawable.ic_menu_login cannot be resolved

عندما أحاول تعيين صور عنصر القائمة:

    @Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Add two example menu buttons
    int groupId = 0;
    int menuItemOrder = Menu.NONE;

    int menuItemId = 1;
    String menuItemText = "Add Login Details";
    MenuItem menuItem = menu.add(groupId, menuItemId, menuItemOrder, menuItemText);
    menuItem.setIcon(android.R.drawable.ic_menu_login )

هل تغير شيء ما في إصدارات Android الحديثة؟ يبدو أن معظم هذه الآن هي "موارد خاصة" ... لم تستطع العثور على الكثير من المعلومات حول هذا ولكن وجدت بعض النصائح:

يتم استخدامه للوصول إلى الموارد الخاصة. لا تستخدمه لأن هذه الموارد الخاصة غالبًا ما تتم إزالة/إعادة تسمية/إلخ. من المرجح أن يؤدي استخدامه إلى كسر تطبيقك في المستقبل.

لماذا يغيرون أسماء الموارد على أي حال؟ (الصور التي تقف خلفها بالتأكيد ، ولكن الأسماء؟) كيف يمكنني الوصول إلى IC_MENU_LOGIN إذن؟ هل هناك سبب أفضل لعدم ما سبق؟

هل كانت مفيدة؟

المحلول

كيف يمكنني الوصول إلى ic_menu_login إذن؟

نسخه في التطبيق الخاص بك. يمكنك العثور عليها جميعًا في تثبيت SDK الخاص بك ، وتحديدا في $ANDROID_HOME/platforms/$API/data/res/, ، أين $ANDROID_HOME هو أينما قمت بتثبيت SDK و $API هو بعض مستوى Android (على سبيل المثال ، android-2.1).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top