سؤال

لقد كان لدي عدد من المشاكل مع التمرير. حاولت مؤخرا إنشاء محتوى LinearView يتجاوز حجم الشاشة، لذا قمت بإنشاء التخطيط الجديد مع ScrollView عنصر الأصل وتعيين عرضه وارتفاعه إلى القيم المخصصة (يجب أن يظهر التخطيط كمرض حوار - لا تملأ الشاشة بأكملها).

عندما يتم تحديد العنصر، يبدو أن الحدود الحمراء تعني مستطيل تخطيط التنظيف المحدد مسبقا ووضع layoutheight وهو موافق. ثم وضعت داخل LinearView وتعيين القيم Layoutwidth و layoutheight إلى fill_parent.

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

لذلك عندما تجاوز محتوى LINEARLAYOUT (طفل التمرير) حجم التمرير الأم والتمرير الذي لم يظهر التمرير والعناصر السفلية غير مرئية ببساطة.

على أي حال .. في هذه الحالة كان محتوى XML واسع النطاق للغاية لنشر السؤال هنا والآن أحصل على نفس المشكلة مع المثال الأكثر بسيطة.

يهدف الجزء التالي من التخطيط إلى أن يكون EDITTEXT قابل للتمرير (في حالة تجاوز إدخال المستخدم الحجم الأساسي للقطعة). أردت تعيين ارتفاع EDITTEXT إلى 120 بكسل، لذلك قمت بتعيين ارتفاع ScrollView الوالد إلى 120 بكسل والطفل EDITTEXT لملء SPARENT. مرة أخرى في هذه الحالة، لا يقوم Edittext بملء منطقة التقدير بالكامل ولكن خط واحد:

 <ScrollView android:layout_height="120px" android:layout_width="fill_parent">
<EditText android:id="@+id/txtContent" android:layout_height="fill_parent" android:layout_width="fill_parent" android:text="TestContent">
</EditText>
</ScrollView>

هل يعرف أحد كيفية إعادة تشكيل المحتوى أعلاه حتى يقوم EDITTEXT بملء عنصر التحكم الأصل وبالتعرف على إدخال المستخدم يتجاوز حجم عنصر التحكم يظهر التمرير؟

شكرا لك!

يحرر:

فيما يلي Screenshots من التخطيط

إزالة رابط imageshack الميت
إزالة رابط imageshack الميت

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

المحلول

يجب أن يكون Edittext الخاص بك ارتفاع wrap_content. fill_parent ليس له معنى في ScrollView. وبعد إذا كنت تريد EditText لملء الخاص بك ScrollView عندما يكون المحتوى أصغر من ScrollView, ، استعمال android:fillViewport="true" على ال ScrollView.

نصائح أخرى

نعم، كما قال رومان، يحتاج التخلص إلى التحرير والسرد التالية.

  1. ل scrollview. android:fillViewport="true"
  2. للطفل التمرير android:layout_height="wrap_content"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top