سؤال

في نظام التشغيل Android، يمكنك تعيين قائمة تنقل في شريط الإجراءات عن طريق تمرير المحول الدوار وOnNavigationListener.تكمن المشكلة في أن قائمة التنقل لا تملأ معظم شريط الإجراءات، وكيفية توسيعها مثل تطبيق Gmail:مثال لتطبيق Gmail:

enter image description here

تطبيقي:

enter image description here

وهنا الكود :

//... setting the array adapter
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
NavigationListener navigationListener = new NavigationListener();
ListAdapter listAdapter = new ListAdapter();
actionBar.setListNavigationCallbacks(listAdapter, navigationListener);
actionBar.setDisplayShowTitleEnabled(false);

المشكلة الأخرى التي أواجهها هي حجم العنصر الدوار، فهو يظهر صغيرًا جدًا، هل هذا لأنني لا أتمكن من تمرير عرض النص المخصص (انظر لقطة الشاشة)؟مثال على ما أفعله:

private class ListAdapter extends BaseAdapter implements SpinnerAdapter {

    public View getView(int pos, View view, ViewGroup viewGroup) {
        TextView text = new TextView(context);
        text.setText(arrayAdapter.getItem(pos).toString());
        return text;
    }

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

المحلول

تريد تنفيذ getDropDownView الطريقة أيضا.يتيح لك هذا توفير طريقة عرض مختلفة للقائمة المنسدلة بالمقاييس والتنسيق الذي تريده.

النظر في تضخيم تخطيطات الإطار android.R.layout.simple_spinner_item و android.R.layout.simple_spinner_dropdown_item لهذه الحالات.يستخدم findViewById(android.R.id.text1) للحصول على TextView يجب عليك ملء كل واحد.

نصائح أخرى

ربما يمكنك استخدام ActionBar علامة التبويب التنقل وإضافة الرموز إلى علامات التبويب بدلا من التنقل القائمة منذ أن يبدو التنقل في Gmail أشبه علامات التبويب الملاحة.

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