أفضل الممارسات تجمع بين الآراء القائمة وغير القائمة، مثل السوق

StackOverflow https://stackoverflow.com/questions/2036430

  •  19-09-2019
  •  | 
  •  

سؤال

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

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

يبدو أن محاكاة هذا النهج صعب للغاية. لقد قرأت ما يكفي من الإجابات ووظائف القائمة البريدية لمعرفة عدم وضع قائمة ListSview داخل ScrollView، لكنني أريد نفس التأثير دون استخدام Addheader () و AddFooter () مع طرق عرض معقدة للغاية وتذييل الصفحة.

لقد حاولت استخدام LINEARLAYOUT أنني أستخلاصا مع وجهات النظر بنفسي، لكنني لا أستطيع الحصول على تأثيرات النقر ممتعة أن عناصر القائمة الافتراضية تحتوي على (خلفية برتقالية، أبيض نقرة طويلة، إلخ).

ماذا أفعل؟

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

المحلول

إلقاء نظرة على بلدي MergeAdapter, ، والتي تم تصميمها للتعامل مع السيناريوهات مثل هذا.

نصائح أخرى

لماذا لا تستخدم رأس؟ من السهل. حدد محتويات الرأس في تخطيط منفصل. لا يحتوي تخطيط نشاطك على شيء سوى ListView التي تريد في الأسفل. لا عرض التمرير!

ثم اتصل

View headerView = getLayoutInflater().inflate(R.layout.header_layout, null);
ListView listView = (ListView) findViewById(R.id.my_list_view);
listView.addHeaderView(headerView, null, false);   

إنه أمر بالغ الأهمية للاتصال بهذا الشكل من addHeaderView بحيث يتم تعطيل الرأس. خلاف ذلك، يمكن اختيارها، والتي تبدو غريبة تماما.

مثال مارك سيعمل. تحتاج أساسا إلى محول مع أنواع عرض مختلفة. مثال آخر لطيف هوhttp://jsharkey.org/blog/2008/08/18/Sparating-lists-with-headers-in-android-09/والتي قد تعمل بشكل أفضل من العلامة لأنك ترغب في الحصول على فواصل وأشياء جماعية معا.

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