عرض مركزي لآخر في RelativeLayout
-
21-12-2019 - |
سؤال
لدي وجهتي نظر أريدهما مركز عموديا في تخطيط نسبي.
هل هناك طريقة للقيام بذلك دون استخدام الجاذبية/layout_gravity ؟
مشكلتي وراء هذا السؤال:
أحتاج إلى عمل تخطيط يحتوي على عدة مربعات وتحت كل منها TextView.المشكلة الرئيسية هي أن TextViews يجب أن تتداخل.سيتم عرض TextView واحد فقط في كل مرة.كل TextView له طول مختلف.
لقد بدأت باستخدام RelativeLayout ولكن واجهت المشكلة السابقة.ولا يمكنني تجميع طرق العرض 2 لكل 2 لأنني بحاجة إلى تعيين تخطيط إلى يمين المربع السابق.
التخطيط الحالي :
في الوقت الحالي، قمت بتعيين رقم سحري في Layout_marginLeft لكل مربع (على حدود العرض الأصلي) ولكنه ليس نظيفًا على الإطلاق.
شكرًا
المحلول 2
finaly، احتفظت بتخطيط layout_marginleft لكني وضعت القيم في الدقة / القيم / dimens.xml، فهي نظافة ويمكن أن يكون لدي أبعاد Dimens.xml لكل شاشة لكل شاشة. تتمثل خدعة في تعيين عرض نصائح التحرير الكبيرة بشكل متعمد لذلك لن يعتمد على طول السلاسل.
نصائح أخرى
يستخدم android:layout_centerInParent="true"
لتوسيط شيء ما في أ RelativeLayout
يمكنك استخدام android:layout_below="@id/your_first_view"
لوضع الثانية الخاصة بك View
تحت الأول!
إذا كنت تريد القيام بأشياء أكثر تعقيدًا، فيمكنك فصل طرق العرض المختلفة الخاصة بك وتخزينها في طرق عرض جديدة LinearLayout
التي يمكنك ضبطها على الوضع الأفقي أو العمودي حسب احتياجاتك.
هناك خدعة أخرى تتمثل في إنشاء طرق عرض فارغة ذات ارتفاع أو عرض صغير ويمكن أن يساعدك ذلك في وضع الأشياء حولها!
هذا مجتمعة إلى toRightOf
toLeftOf
الأشياء سوف تفعل ما تريد