![]() |
|
LogIn App: Styling Button #6 - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم برمجة الهواتف (http://vb4arb.com/vb/forumdisplay.php?fid=208) +--- قسم : قسم مقالات Xamarin.Android (http://vb4arb.com/vb/forumdisplay.php?fid=209) +--- الموضوع : LogIn App: Styling Button #6 (/showthread.php?tid=22980) |
LogIn App: Styling Button #6 - Sajad - 18-12-17 بسم الله الرحمن الرحيم
(رب اشرح لي صدري ويسر لي امري واحلل عقدة من لساني يفقهوا قولي)
السلام عليكم ورحمة الله وبركاته
سنتعلم في هذا الدرس باذن الله كيفية تغيير الشكل الافتراضي للأداة Button وايضا سنطبق بعض التغييرات على واجهة تسجيل الدخول لتبدو بهذا الشكل:
![]() في البداية الصورة المستخدمة كخلفية تجدها في الرابط أدناه
https://i.stack.imgur.com/7vMmx.jpg
بعد تنزيل الصورة قم بوضعها في المجلد drawable وقم بتغيير اسمها الى myBackground.
طيب الان لتبع الخطوات التالية للتعديل على المثال الذي نعمل عليه من الدوس الأول:
اولا: قم باستبدال كود Main.axml بهذا الكود من خلال الدخول الى Source:
PHP كود : <?xml version="1.0" encoding="utf-8"?>التغييرات التي تمت على ملف Main.axml هي كالتالي:
أ- حذف اداتي TextView واستبدالها بالخاصية hint لأداتي EditText لعرض العنوان.
ب- استخدام خاصية textColorHint لتغيير لون الـhint.
جـ- تغيير الـbackground للـLayout الاساسية بهذا الشكل:
PHP كود : android:background="@drawable/myBackground" د- استخدام خاصية weightSum في الـLayout الثانية الافقية وذلك لتوزيع المساحة الافقية بالتساوي مع أداتي Button وذلك بالشكل التالي:
-جعل خاصية Layout_width لأداتي Button =0dp واستبدالها بـ خاصية layout_weight واسنادها الرقم 50 للدلالة على حجز 50% من المساحية الافقية للحاضنة ونفس الرقم للـButton الثانية.
فائدة الخاصية weightSum: توزيع الادوات في الحاضنة سواء كان التوزيع بشكل افقي أو عمودي حسب النسب المئوية، بالتالي مجموع الـweights للادوات داخل الحاضنة يجب أن تساوي weightSum للحاضنة.
ثانيا: قم باستبدال كود الـTheme بهذا الكود من خلال الدخول الى ملف Styles.xml داخل المجلد values:
PHP كود : <?xml version="1.0" encoding="utf-8" ?>التغييرات على الـTheme:
1- تغيير الالوان.
2- اضافة خاصية textColorPrimary: يتحكم بلون النص الظاهر على Toolbar.
3- اضافة خاصية textColor: يتحكم بلون النص الظاهر على الاداوت.
ثالثا: تصميم الشكل الجديد وتطبيقها على أداتي Button:
-قم بانشاء ملف xml جديد باسم buttonStyle داخل المجلد drawable وضع بداخلها الكود التالي:
PHP كود : <?xml version="1.0" encoding="utf-8" ?>لنشرح الكود أعلاه:
selector: عبارة عن وسم يطبق على الاداوت التي لديها عدة حالات مثل (الضغط، المرور ...) وهذا الوسم يكتب بداخلها حالتين باعتبار Button لديها حالة الClick والحالة الافتراضية وهذه الحالة تكتب داخل الوسم item مثل حالة :
PHP كود : android:state_pressed="true 1- shape: مسؤول عن شكل الاداة (دائري، مستطيل....).
داخل shape: 1- solid: لون الاداة. 2- stroke: اطار الاداة ويتضمن سمك ولون الاطار. 3- corners: زوايا الاطار. 4- padding: تكلمنا عنها سابقا حيث تستطيع الاستغناء عنها هنا. نفس ما سبق أعلاه ينطبق على الحالة الافتراضية (عدم الضغط) مع تغيير في الالوان لتمييز حالة الضغط من عدمه. (يمكنك تجربة ذلك عند تنفيذ المثال لترى الفرق بين حالة الضغط والحالة الافتراضية). الان لتطبيق هذا الـstyle نستخدم خاصية الـbackground للأداة بهذا الشكل: PHP كود : android:background="@drawable/buttonStyle" نلقاكم في درس آخر ان شاءالله.
والحمد لله رب العالمين
RE: LogIn App: Styling Button #6 - حريف برمجة - 18-12-17 الله يجزاك خير أخي سجاد ،، |