LineaLayout ( Android Bangla Tutorial -5)
বাই ডিফল্ট রুটে যে লেআউট টি এসেছে সেটি হল ConstraintLayout , তো শুরুতে আমরা অ্যান্ড্রোয়েড এর সবচেয়ে সহজ লেআউট টি নিয়ে কাজ করবো , আর সেটি হল LinearLayout
তো <android.support.constraint.ConstraintLayout
কেটে দিয়ে শুরুতে লিখে নিন <LinearLayout এবং শেষে </LinearLayout> । আমরা প্রথমেই একটা বিষয় শিখে এসছিলাম মনে আছে কি ঃ) আপনি যদি বড় হাতের <L লিখেন তাহলেই সাজেশনে দেখতে পাবেন , কষ্ট করে পুরোটুকু লেখার দরকার নাই ।
এখানে <LinearLayout এর মধ্যে আর একটি ট্যাগের সাথে পরিচিত হব , তা হল - orientation । লিনিয়ার লেআউট এর উপাদান বা কম্পোনেন্ট দিয়ে আপনি আপনার অ্যাপ ২ভাবে সাজাতে পারবেন । ১- পাশাপাশি আর ২- উপর-নিচ । এখন আপনি কিভাবে সাজাতে চান সেটির নির্দেশনাই দিয়ে দিবেন এই orientation ভিতর । যেমন -
অথবা
android:orientation="Horizontal">
এখন এই লিনিয়ার লেআউট কিংবা কন্সট্রান্ট লেআউট কিংবা অন্য যে আর একটি লেআউট আছে রিলেটিভ লেআউট , এসব লেআউট এর ভিতরে চাইল্ড উপাদান হিসেবে যে কম্পোনেন্ট গুলো থাকবে এদের ভিতর কোন পার্থক্য নেই । শুধুমাত্র অ্যাপ ডিজাইন করতে ওই সব উপাদানের ভিতরে আবার যেসব বৈশিষ্ট আছে সেগুলো কোনটি এক লেআউট এর জন্য এক রকম তো ওটার পরবর্তী হিসেবে অন্য লেআউট এ অন্য আরেকটি ট্যাগ ।
এই সব লেআউট এর চাইল্ড উপাদান হিসেবে যে সব ট্যাগ সাধারন প্রায়ই দেখা যায় সেগুলো হল -
TextView - আপনি ইউজারকে যেসব লেখাগুলো দেখাতে চাইবেন সেগুলো TextView এর ভিতর লিখে দেয়া হয় ।
EditText - আপনি ইউজারকে থেকে যেসব ডাটা নিবেন সেগুলো নেয়ার জন্য EditText ব্যাবহার করা হয় ।
Button - বাটন জিনিসটার সাথে আমরা সবাই পরিচিত । অ্যাপের ভিতর বাটন ব্যাবহার করতে এই ট্যাগটি ব্যাবহার করা হয় ।
ImageView - অ্যাপের ভিতর ইমেজ নিয়ে যত কাজ আছে তা এই ট্যাগ দিয়ে করা হয়
VideoView - অ্যাপের ভিতর ভিডিও ব্যাবহার করতে এটি ব্যাবহার করুন
ImageButton - বাটন হিসেবে ইমেজ ব্যাবহারের জন্য এই ভিউটি ব্যাবহার করতে হয়
CheckBox - ইউজারকে ৩-৪ টি (ইচ্ছামত) অপশন এর ভিতর চাইলে সবগুলোই সিলেক্ট করতে পারবে এমন ভিউ গুলোর জন্য চেকবক্স ব্যাবহার করা হয়
RadioButton - ইউজারকে ৩-৪ টি (ইচ্ছামত) অপশন দেয়া এবং ইউজার সেখান থেকে মাত্র একটি জিনিস পছন্দ করতে পারবে এমন ভিউ এর জন্য রেডিও বাটন ব্যাবহার করা হয়
ToggleButton - যে বাটন এক সাথে অন-অফ দুইটা কাজ করতে পারে সেগুলো হল টোগল বাটন
SearchView - অ্যাপের ভিতরে সার্চ অপশন রাখার জন্য এই ট্যাগটি ব্যাবহার করা হয়
ScrollView - আমরা ফেসবুক যেভাবে স্ক্রল করে থাকি এমন বড় কোন এক্টিভিটির জন্য এটি ব্যাবহার করা হয়ে থাকে । এটি উপর-নিচ স্ক্রল করার জন্য । পাশাপাশি স্ক্রল ব্যাবহার করতে চাইলে HorizontalScrollView ভিউটি ব্যাবহার করতে হবে
WebView - ওয়েব রিলেটেড কোন কিছু দেখানোর জন্য এই ভিউটি ব্যাবহার করা হয়
ExpandableListView - অনেক সময় দেখা যায় বড় আর্টিকেল এর অল্প একটু দেখা যায়, বাকিটা আরো পড়ুন কিংবা see more টাইপের কিছু লেখা থাকে । এমন ভিউয়ের জন্য এই ভিউটি ব্যাবহার করুন
DatePicker - তারিখ নিয়ে কাজ করতে এটি ব্যাবহার করতে হয়
TimePicker - সময় নিয়ে কাজ করতে এটি ব্যাবহার করতে হয়
TextClock - শুধু সময় দেখাতে এটি ব্যাবহার করুন
AdView - অ্যাপের ভিতর পরিমান জায়গার জন্য গুগল এর অ্যাডভারটাজমেন্ট ব্যবাহার করতে চাইলে এটি ব্যাবহার করুন
MapView - অ্যাপে গুগোল ম্যাপের ব্যাবহার করতে এটি ব্যাবহার করতে হয়
এছাড়াও আরো অনেক ধরনের ভিউ আছে , সেগুলো পর্যায়ক্রমে আমরা দেখে নিব ।
লিনিয়ার লেআউট এর চাইল্ড উপাদানের ভিতরে আমরা যে সব ট্যাগ (যদিও এগুলোকে ট্যাগ বলে নাহ , আইডেন্টিফায়ার বলে ) নিয়ে কাজ করবো তা হল -
তো চলুম কোন একটি ট্যাগ নিয়ে কাজ শুরু করে দেয়া যাক -
প্রথমেই আমরা যে ট্যাগটির সাথে পরিচিত হয়েছিলাম সেটি হল <TextView এবং <EditText
এই টেক্সভিউ ও ইডিটটেক্স এর কোন চাইল্ড উপদান নেই , এটি শুধুমাত্র নিজের বৈশিষ্ট নিয়ে কাজ করে । TextView কোন লেখা ইউজারকে দেখাতে এবং EditText ইউজার থেকে কোন লেখা বা ডাটা নিতে ব্যাবহার করা হয় । তো এর ভিতর কি কি বৈশিষ্ট থাকতে পারে দেখে নেয়া যাক -
textSize - টেক্স এর ফন্ট সাইজ কত বড় হবে তা নির্ধারণ করে
textAlignment - লেখাটির অবস্থান কোথায় হবে তা নির্ধারণ করে । এটি ব্যাবহার করতে মিনিমাম SDK 17 হওয়া প্রয়োজন ।
inputType –ইউজার এর ইনপুট কি রকম হবে সে অনুযায়ী কিবোর্ড নির্ধারণ করে । এটি EditText এর ক্ষেত্রে ব্যাবহার করা হয়
textAllCaps – লেখা সবগুলো ছোট নাকি বড় হাতের হবে সেটা নির্ধারণ করে
textAppearance – টেক্স-কে নিজের ইচ্ছামত স্টাইল দিতে কিংবা ছোট-বড় করতে
textAppearance -আমরা xml এ কোন লেখার যে স্ট্যাইল করি এটা values এর ভিতরে থাকা style অপশনে গিয়ে করা বেটার এবং সেক্ষেত্রে সেই স্টাইল এর সাথে লেখাকে সংযুক্ত করতে এটি ব্যাবহার করা হয়
hint - কোন টাইপের ডাটা দিতে হবে সেটি ইউজারকে বুঝানোর জন্য EditText এ কোন লেখা লিখে দেয়া
textColorHint - হিন্ট লেখার কালার কি রকম হবে তা নির্ধারণ করে
textColorHighlight -
textColorLink - আমরা যদি কোন ধরনের লিংক অন্য কালারের মাধ্যমে দেখাতে চাই সেটি করতে এই ট্যাগ ব্যাবহার করা হয়
textIsSelectable - আমরা TextView তে যে লেখা ইউজারকে দেখাবো তা ইউজার কপি করতে পারবে কি'না
inputType - EditText এ কোন ধরনের ইনপুট দিতে হবে তা নির্ধারণ করে
fontFamily - বিভিন্ন ধরনের ফন্ট ব্যাবহার করতে এটি ব্যাবহার করুন
maxLength - এটি EditText এ ব্যাবহার করা হয় । word হিসেবে গননা করা হয় অর্থাৎ ইউজার কতটি word ইনপুট দিতে পারবেন
maxLines - ইউজার ইনপুট দেয়ার সময় কতটি লাইন দেখাবে তা নির্ধারণ করে । এখানে ইউজার তার ইচ্ছামত যতইচ্ছা ইনপুট দিতে পারবে কিন্তু ২ লাইনের স্ক্রিনে দেখা যাবে নাহ
এছাড়াও আরো অনেক ট্যাগ রয়েছে , সেগুলো আমরা পরবর্তীতে দেখে নিব । আজকে এই পর্যন্তই । ধন্যবাদ 😊😊😊
তো <android.support.constraint.ConstraintLayout
কেটে দিয়ে শুরুতে লিখে নিন <LinearLayout এবং শেষে </LinearLayout> । আমরা প্রথমেই একটা বিষয় শিখে এসছিলাম মনে আছে কি ঃ) আপনি যদি বড় হাতের <L লিখেন তাহলেই সাজেশনে দেখতে পাবেন , কষ্ট করে পুরোটুকু লেখার দরকার নাই ।
এখানে <LinearLayout এর মধ্যে আর একটি ট্যাগের সাথে পরিচিত হব , তা হল - orientation । লিনিয়ার লেআউট এর উপাদান বা কম্পোনেন্ট দিয়ে আপনি আপনার অ্যাপ ২ভাবে সাজাতে পারবেন । ১- পাশাপাশি আর ২- উপর-নিচ । এখন আপনি কিভাবে সাজাতে চান সেটির নির্দেশনাই দিয়ে দিবেন এই orientation ভিতর । যেমন -
অথবা
android:orientation="Horizontal">
এখন এই লিনিয়ার লেআউট কিংবা কন্সট্রান্ট লেআউট কিংবা অন্য যে আর একটি লেআউট আছে রিলেটিভ লেআউট , এসব লেআউট এর ভিতরে চাইল্ড উপাদান হিসেবে যে কম্পোনেন্ট গুলো থাকবে এদের ভিতর কোন পার্থক্য নেই । শুধুমাত্র অ্যাপ ডিজাইন করতে ওই সব উপাদানের ভিতরে আবার যেসব বৈশিষ্ট আছে সেগুলো কোনটি এক লেআউট এর জন্য এক রকম তো ওটার পরবর্তী হিসেবে অন্য লেআউট এ অন্য আরেকটি ট্যাগ ।
এই সব লেআউট এর চাইল্ড উপাদান হিসেবে যে সব ট্যাগ সাধারন প্রায়ই দেখা যায় সেগুলো হল -
TextView - আপনি ইউজারকে যেসব লেখাগুলো দেখাতে চাইবেন সেগুলো TextView এর ভিতর লিখে দেয়া হয় ।
EditText - আপনি ইউজারকে থেকে যেসব ডাটা নিবেন সেগুলো নেয়ার জন্য EditText ব্যাবহার করা হয় ।
Button - বাটন জিনিসটার সাথে আমরা সবাই পরিচিত । অ্যাপের ভিতর বাটন ব্যাবহার করতে এই ট্যাগটি ব্যাবহার করা হয় ।
ImageView - অ্যাপের ভিতর ইমেজ নিয়ে যত কাজ আছে তা এই ট্যাগ দিয়ে করা হয়
VideoView - অ্যাপের ভিতর ভিডিও ব্যাবহার করতে এটি ব্যাবহার করুন
ImageButton - বাটন হিসেবে ইমেজ ব্যাবহারের জন্য এই ভিউটি ব্যাবহার করতে হয়
CheckBox - ইউজারকে ৩-৪ টি (ইচ্ছামত) অপশন এর ভিতর চাইলে সবগুলোই সিলেক্ট করতে পারবে এমন ভিউ গুলোর জন্য চেকবক্স ব্যাবহার করা হয়
RadioButton - ইউজারকে ৩-৪ টি (ইচ্ছামত) অপশন দেয়া এবং ইউজার সেখান থেকে মাত্র একটি জিনিস পছন্দ করতে পারবে এমন ভিউ এর জন্য রেডিও বাটন ব্যাবহার করা হয়
ToggleButton - যে বাটন এক সাথে অন-অফ দুইটা কাজ করতে পারে সেগুলো হল টোগল বাটন
SearchView - অ্যাপের ভিতরে সার্চ অপশন রাখার জন্য এই ট্যাগটি ব্যাবহার করা হয়
ScrollView - আমরা ফেসবুক যেভাবে স্ক্রল করে থাকি এমন বড় কোন এক্টিভিটির জন্য এটি ব্যাবহার করা হয়ে থাকে । এটি উপর-নিচ স্ক্রল করার জন্য । পাশাপাশি স্ক্রল ব্যাবহার করতে চাইলে HorizontalScrollView ভিউটি ব্যাবহার করতে হবে
WebView - ওয়েব রিলেটেড কোন কিছু দেখানোর জন্য এই ভিউটি ব্যাবহার করা হয়
ExpandableListView - অনেক সময় দেখা যায় বড় আর্টিকেল এর অল্প একটু দেখা যায়, বাকিটা আরো পড়ুন কিংবা see more টাইপের কিছু লেখা থাকে । এমন ভিউয়ের জন্য এই ভিউটি ব্যাবহার করুন
DatePicker - তারিখ নিয়ে কাজ করতে এটি ব্যাবহার করতে হয়
TimePicker - সময় নিয়ে কাজ করতে এটি ব্যাবহার করতে হয়
TextClock - শুধু সময় দেখাতে এটি ব্যাবহার করুন
AdView - অ্যাপের ভিতর পরিমান জায়গার জন্য গুগল এর অ্যাডভারটাজমেন্ট ব্যবাহার করতে চাইলে এটি ব্যাবহার করুন
MapView - অ্যাপে গুগোল ম্যাপের ব্যাবহার করতে এটি ব্যাবহার করতে হয়
এছাড়াও আরো অনেক ধরনের ভিউ আছে , সেগুলো পর্যায়ক্রমে আমরা দেখে নিব ।
লিনিয়ার লেআউট এর চাইল্ড উপাদানের ভিতরে আমরা যে সব ট্যাগ (যদিও এগুলোকে ট্যাগ বলে নাহ , আইডেন্টিফায়ার বলে ) নিয়ে কাজ করবো তা হল -
Id – কোন ট্যাগ নিয়ে যখন আমরা কাজ করবো তখন সেই ট্যাগকে অন্য ট্যাগগুলো থেকে আলাদা ভাবে শনাক্ত করতে আইডি ব্যাবহার করা হয়
layout_width – এই ট্যাগ দ্বারা লেআউট এর ওইথ ( প্রশস্ত ) কত হবে সেটি লিখে দেয়া হয়
layout_height - লেআউট এর উচ্চতা কত হবে সেটি লিখে ফেয়া হয়
gravity - লেআউট এর ভিতরের কম্পনেন্ট লেআউট এর ডান, বাম নাকি উপর / নিচ থেকে আরম্ভ হবে তার নির্দেশনা দেয়া হয়
layout_gravity
– লেআউটির অবস্থান রুট লেআউট এর কোথায় হবে তা
নির্ধারণ করে
Padding – ভিউ-টি তার নিজের ভিতরে কোন একপাশ থেকে কিংবা চারদিক থেকে জায়গা নেয় এই ট্যাগের মাধ্যমে
Layout_weight- ভিউগুলোকে মোবাইলের যেকোন সাইজে সঠিক পরিমান জায়গা দিতে । এটি শুধুমাত্র লিনিয়ার লেআউট এর ক্ষেত্রে ব্যাবহার করা হয়
layout_margin - ভিউটি বাহির থেকে জায়গা নিয়ে সরে আসবে
background - ভিউ এর পিছনে যে কালার ব্যাবহার করতে চাই
layout_margin - ভিউটি বাহির থেকে জায়গা নিয়ে সরে আসবে
background - ভিউ এর পিছনে যে কালার ব্যাবহার করতে চাই
তো চলুম কোন একটি ট্যাগ নিয়ে কাজ শুরু করে দেয়া যাক -
প্রথমেই আমরা যে ট্যাগটির সাথে পরিচিত হয়েছিলাম সেটি হল <TextView এবং <EditText
এই টেক্সভিউ ও ইডিটটেক্স এর কোন চাইল্ড উপদান নেই , এটি শুধুমাত্র নিজের বৈশিষ্ট নিয়ে কাজ করে । TextView কোন লেখা ইউজারকে দেখাতে এবং EditText ইউজার থেকে কোন লেখা বা ডাটা নিতে ব্যাবহার করা হয় । তো এর ভিতর কি কি বৈশিষ্ট থাকতে পারে দেখে নেয়া যাক -
text - আমরা যদি কোন লেখা লেআউট এ দেখাতে চাই তা এত ট্যাগের ভিতরে লেখা হয় . এটি TextView এর জন্য ব্যাবহার করা হয়
textSize - টেক্স এর ফন্ট সাইজ কত বড় হবে তা নির্ধারণ করে
textColor - লেখাটি কোন কালার এর হবে তা নির্ধারণ করে
textAlignment - লেখাটির অবস্থান কোথায় হবে তা নির্ধারণ করে । এটি ব্যাবহার করতে মিনিমাম SDK 17 হওয়া প্রয়োজন ।
inputType –ইউজার এর ইনপুট কি রকম হবে সে অনুযায়ী কিবোর্ড নির্ধারণ করে । এটি EditText এর ক্ষেত্রে ব্যাবহার করা হয়
textAllCaps – লেখা সবগুলো ছোট নাকি বড় হাতের হবে সেটা নির্ধারণ করে
textAppearance – টেক্স-কে নিজের ইচ্ছামত স্টাইল দিতে কিংবা ছোট-বড় করতে
textAppearance -আমরা xml এ কোন লেখার যে স্ট্যাইল করি এটা values এর ভিতরে থাকা style অপশনে গিয়ে করা বেটার এবং সেক্ষেত্রে সেই স্টাইল এর সাথে লেখাকে সংযুক্ত করতে এটি ব্যাবহার করা হয়
hint - কোন টাইপের ডাটা দিতে হবে সেটি ইউজারকে বুঝানোর জন্য EditText এ কোন লেখা লিখে দেয়া
textColorHint - হিন্ট লেখার কালার কি রকম হবে তা নির্ধারণ করে
textColorHighlight -
textColorLink - আমরা যদি কোন ধরনের লিংক অন্য কালারের মাধ্যমে দেখাতে চাই সেটি করতে এই ট্যাগ ব্যাবহার করা হয়
textIsSelectable - আমরা TextView তে যে লেখা ইউজারকে দেখাবো তা ইউজার কপি করতে পারবে কি'না
inputType - EditText এ কোন ধরনের ইনপুট দিতে হবে তা নির্ধারণ করে
fontFamily - বিভিন্ন ধরনের ফন্ট ব্যাবহার করতে এটি ব্যাবহার করুন
maxLength - এটি EditText এ ব্যাবহার করা হয় । word হিসেবে গননা করা হয় অর্থাৎ ইউজার কতটি word ইনপুট দিতে পারবেন
maxLines - ইউজার ইনপুট দেয়ার সময় কতটি লাইন দেখাবে তা নির্ধারণ করে । এখানে ইউজার তার ইচ্ছামত যতইচ্ছা ইনপুট দিতে পারবে কিন্তু ২ লাইনের স্ক্রিনে দেখা যাবে নাহ
এছাড়াও আরো অনেক ট্যাগ রয়েছে , সেগুলো আমরা পরবর্তীতে দেখে নিব । আজকে এই পর্যন্তই । ধন্যবাদ 😊😊😊
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন