"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إضافة هوامش برمجياً إلى الأزرار في التخطيط الخطي؟

كيفية إضافة هوامش برمجياً إلى الأزرار في التخطيط الخطي؟

تم النشر بتاريخ 2024-11-08
تصفح:901

How to Programmatically Add Margins to Buttons in a LinearLayout?

الهوامش الديناميكية في التخطيط الخطي

في تطوير Android، تلعب التخطيطات دورًا حاسمًا في تنظيم وعرض عناصر واجهة المستخدم. أحد المتطلبات الشائعة للتخطيطات هو القدرة على تحديد الهوامش بين العناصر. بينما يوفر XML طريقة بديهية لتحديد الهوامش، قد يحتاج المطورون إلى إنشاء تخطيطات برمجيًا لضمان المرونة أو التعامل مع المحتوى الديناميكي.

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

يكمن الحل في استخدام طريقة setMargins() للكائن LinearLayout.LayoutParams. تسمح هذه الطريقة بتحديد الهوامش بالبكسل للحواف العلوية واليمنى واليسرى والسفلية للعرض.

LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
     LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);

layoutParams.setMargins(30, 20, 30, 0);

Button okButton=new Button(this);
okButton.setText("some text");
ll.addView(okButton, layoutParams);

في هذا الكود، يتم إنشاء LinearLayout باتجاه عمودي. تتم بعد ذلك تهيئة مثيل LinearLayout.LayoutParams لتحديد عرض الأزرار وارتفاعها. يتم استدعاء طريقة setMargins() لتعيين قيم البكسل للهوامش المطلوبة، والتي تؤدي في هذه الحالة إلى هوامش علوية ويسارية بحجم 30 بكسل وهامش سفلي بمقدار 20 بكسل.

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

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3