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 - অ্যাপে গুগোল ম্যাপের ব্যাবহার করতে এটি ব্যাবহার করতে হয়

এছাড়াও আরো অনেক ধরনের ভিউ আছে , সেগুলো পর্যায়ক্রমে আমরা দেখে নিব ।



লিনিয়ার লেআউট এর চাইল্ড উপাদানের ভিতরে আমরা যে সব ট্যাগ (যদিও এগুলোকে ট্যাগ বলে নাহ , আইডেন্টিফায়ার বলে ) নিয়ে কাজ করবো তা হল -


Id কোন ট্যাগ নিয়ে যখন আমরা কাজ করবো তখন সেই ট্যাগকে অন্য ট্যাগগুলো থেকে আলাদা ভাবে শনাক্ত করতে আইডি ব্যাবহার করা হয়  

layout_width এই ট্যাগ দ্বারা লেআউট এর ওইথ ( প্রশস্ত ) কত হবে সেটি লিখে দেয়া হয়

layout_height - লেআউট এর উচ্চতা কত হবে সেটি লিখে ফেয়া হয়

gravity - লেআউট এর ভিতরের কম্পনেন্ট লেআউট এর ডান, বাম নাকি উপর /  নিচ থেকে আরম্ভ হবে তার নির্দেশনা দেয়া হয় 


layout_gravity – লেআউটির অবস্থান রুট লেআউট এর কোথায় হবে তা নির্ধারণ করে

Padding  ভিউ-টি তার নিজের ভিতরে কোন একপাশ থেকে কিংবা চারদিক থেকে জায়গা নেয় এই ট্যাগের মাধ্যমে

Layout_weight- ভিউগুলোকে মোবাইলের যেকোন সাইজে সঠিক পরিমান জায়গা দিতে । এটি শুধুমাত্র লিনিয়ার লেআউট এর ক্ষেত্রে ব্যাবহার করা হয়

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 - ইউজার ইনপুট দেয়ার সময় কতটি লাইন দেখাবে তা নির্ধারণ করে । এখানে ইউজার তার ইচ্ছামত যতইচ্ছা ইনপুট দিতে পারবে কিন্তু ২ লাইনের স্ক্রিনে দেখা যাবে নাহ

এছাড়াও আরো অনেক ট্যাগ রয়েছে , সেগুলো আমরা পরবর্তীতে দেখে নিব । আজকে এই পর্যন্তই । ধন্যবাদ  😊😊😊    



























মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

Cicular floating action menu

DatePicker

Frame Layout