59 0 8MB
0
Version3.0
MASTERANDROIDAPP DEVELOPMENTeBOOK ___
ByAbhiAndroid
0
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
1
WelcomeMessage
Thankyoufordownloadingthisguide… Hi, AbhiAndroid'smissionistohelppeoplelearnAndroidDevelopmentwithstepbystep explanation.Toachievethat,wedoourbesttoexplaineverytopicintheeasiestwaypossible. Wemakesureeverytutorialorcoursewecreateistopquality. Hopeyoulikethisfreeguide.Pleaseshareyourfeedbackbyemailingusat [email protected] PS:Ialsolookforwardtoseeingyouinsideourcourse. Withlove&respect, AbhishekSaini
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
2
MasterAndroidApp DevelopmentCourse Beforeyoustartreadingthisguide,Iwouldliketosharelittledetailsaboutourvideotraining: Ourmottowiththevideotrainingis:B ytheexperienceddevelopersandforeveryAndroid Developerprovidingstepbystepexplanationofeverytopicwithcode. -Stepbystepexplanation -Masterandroiddevelopmentandboostyourconfidence -Newcontentgetsaddedeverymonth -Bonus(Premiumprojectsourcecode,certificateofcompletionandmore) Youcanaccessthecoursehere:h ttps://abhiandroid.com/course/ Note:Wealsooffer7daysmoneybackguaranteewithnoquestionsasked.
ImportantMessage Thiscopyispurelydedicatedtoyou.Youcanuseitinseveralways.Saveitinyourlaptop, mobile,takeaprintout,andplease,noneedtosaythanks.Butyoucan’tsellitoryoucan’t makeachangeinitbecauseallrightsofthiscopyiswithAbhiAndroid.com.Ifyouwantsome changesinitorsomeadditiontoit,youcanmailmeat[email protected].And,ifyoulike thisguide,don’tforgettoshareitwithyourbuddies.I’msuretheywillappreciateit.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
TablesOfContent 1.
H istoryofAndroid……………………………………………………………………………..Page4
2.
XMLinAndroid………………………………………………………………………………...Page7
3.
ActivityLifecycleinAndroid…………………………………………………………………..Page17
4.
Linearlayout….………………………………………………………………………………….Page28
5.
RelativeLayout…………………………………………………………………………………Page36
6.
TableLayout…………………………………………………………………………………….Page54
7.
FrameLayout…………………………………………………………………………………...Page64
8.
Adapter.……………………………………………………………………………………….....Page73
9.
ListView.………………………………………………………………………………………...Page82
10.
GridView.………………………………………………………………………………………..Page94
11.
TextView.……………………………………………………………………………………….Page110
12.
ScrollView.……………………………………………………………………………………..Page120
13.
Spinner.…………………………………………………………………………………………Page129
14.
EditText.……………………………………………………………………………………...…Page 134
15.
Button.…………………………………………………………………………………………..Page148
16.
ImageView.……………………………………………………………………………………..Page160
17.
ImageButton…………………………………………………………………………….………Page169
18.
CheckBox…………………………………………………………………………...…………..Page177
19.
Switch……….…………………………………………………………………………………..Page191
20.
RadioButton&RadioGroup…………………………………………….……………………...Page205
21.
RatingBar…….………………………………………………………………………………….Page220
22.
WebView…….…………………………………………………………………………………..Page232
23.
AutocompleteTextview…………………………………………………………………………Page242
24.
ProgressBar…….……………………………………………………………………………….Page252
25.
TimePicker…….………………………………………………………………………………...Page266
26.
CalendarView….………………………………………………………………………………..Page280
27.
ExpandableListView……………………………………………………………………………Page298
3
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
4
28.
Chronometer………………………………………………………………………………….…Page317
29.
ZoomControls…………………………………………………………………………………..Page332
30.
VideoView…………………………………………………………………………………..…...Page343
31.
SearchView………………………………………………………………………………….......Page356
32.
Toast……………………………………………………………………………………………...Page370
33.
IntentinAndroid………………………………………………………....……………………...Page378
34.
InternalStorage……………………………………………………………….………………...Page389
35.
ExternalStorage………………………………………………………………………..……….Page399
36.
SharedPreference……………………………………………………………………..………Page409
37.
Sqlite…………………………………………………………………………...………..……….Page423
38. JsonParsing……………………………………………………………………………………...Page435 39. Asynctask………………………………………………………………………………………...Page451 40. SplashScreen…………………………………………………………………………………...Page461 41. HTMLinAndroid…………………………………………………………………………………Page473 42. Fragment…………………………………………………………………………………………Page485 43.
BasicCalculatorApp…………………………………………………...………….…..………Page501
44.
YoutubeAndroidApp………………………………………....……………...………..………Page512
45.
CountdownTimerAndroidApp…………………………....…...…………...………..………Page525
46. PremiumAndroidAppSourceCode…………………………………………………………..Page532
HistoryofAndroid
AndroidisaLinuxBasedOperatingSystembyGOOGLEwhichprovidesarichapplication Frameworkandhelpsindevelopinginteractiveapplications.TheOSfirstOSversionwas introducedin2007withmanyofitsversionsnamedinAlphabeticalorderrangingfromA-Nand upcomingisO. HEREISDETAILEDABOUTANDROIDVERSIONS: Alpha–Inthis(Android1.0)wasthefirstversionsofAndroidoperatingSystembyGoogle.It hasbasicfunctionalitywithasimplebrowserandotherGoogleappslikeGmail,Mapsand YouTube. Beta– LateronwithAndroid1.1fewmorefunctionalityadded,theAPIchangesfromLevel1 inAndroid1.0toLevel2.ItsupportsattachmentwithMMS. Cupcake–CupcakewasAndroidsecondversionwithnewfeaturesaswellastheAndroid frameworkAPIupdated.ItwasAndroid1.5withonScreenKeyboard,BluetoothandUpdatedUI forapplications. Donut–ItwasAndroid1.6nicknamedasDONUT.ItaddedsupportforCDMA,additional screensizes,talktospeechengineandbatteryindicator.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
5
Eclair–A ndroid2.0-2.1aslikeotherversionsthisalsocomeupwithanicknameasECLAIR andlotmorefunctions&features.ItcomeupwithBluetooth2.1,livewallpaper,HTML5 support,abilitytosearchsms&mms,flashsupport,digitalzoomandmorecamerafeatures Froyo–Androidversion2.2-2.2.3introducedwithUSBtethering&WiFihotspotfunctionality andappscannowbeinstalledonmemorycard.SupportAdobeflash,increasedspeedand performanceofapplicationswithnewfeatures. Gingerbread–Gingerbread(Android2.3-2.3.7)introducedwithupdatedUserInterfacewhich providemoreeasetouse.Featuresarelikesensors,multiplecameras(Front&back),virtual keyboard,bettertextsuggestion,voiceinputcapabilityandpressholdcopypastecapability. Honeycomb–ThisAndroidplatformHoneycombwasdesignedforlargescreensliketabletsso interfaceelementslikevirtualkeyboardoptimizedforbiggerscreen.Homescreenisoptimized, tabsareintroducedinbrowserwithadditionalincognitomodeandvideochat&Gtalkis supported. IceCreamSandwich–I ceCreamsandwichcomein2011bringingallnewlook.Itgivesmore easetouserlikeusercanquicklyswipetoclosetheapps,newgallerylayoutandbuiltinphoto editor. JellyBean–GooglemadeOperatingSystemmoreresponsivewithJellyBeanandintroduces filesharingwithAndroidBeam.Restrictedprofile,DialPadcomplete,supportedother languageslikeHindi,changedcameraUI. KitKat–Kitkatcomeupin2013withAPILevel19.Ithaswirelessprintingcapability,new dailerid,chromewebviewandscreenrecording. Lollipop–Androidversion5.0-5.1.1comeupwithimprovedRAMandbatterymanagement. FurtherrestylingthroughMaterialdesign,nointerruptsfeature,unlockphonethrough Bluetoothtrusteddevices,printpreviewsandsmartlockfeature. Marshmallow–Marshmallowwasreleasedinyear2015,comeupwithsmarterbatteryand dozemode(itpreventscertaintaskfromrunningifthephonebeingsettingidle),NowOnTap, betterprivacysettings,easiertoupgradephone,Fingerprintsensorandbuiltinvisualvoice mail.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
6
Nougat–A ndroidNougatwasmadeofficialin2016withupdatedemoji,72newlyadded,multi windowview(switchbetweenappswithdoubletap),smarterbatterywithdatasavermode, moresecuredandhighqualityvirtualrealitywithnewdimensions. Oreo–I tisthe15thversionoftheAndroidmobileoperatingsystemreleasedtothepublicon August21,2017.Itcontainsanumberofmajorfeatures,includingnotificationgrouping, picture-in-picturesupportforvideo,performanceimprovements,andbatteryusage optimizationetc. Pie–A ndroidpieisthe16thversionoftheAndroidmobileoperatingsystemreleasedpublicly onAugust6,2018withupdatedfeatures,NewGestureNavigation,AdaptiveBatteryand Brightness,AppActions,Slices,NewAccessibilityMenuandImprovedSecurityFeatures. Android10–T hestableversionofAndroid10wasreleasedonSeptember3,2019comewith Gesturenavigation,LiveCaption,SmartReply,SoundAmplifier,Privacycontrols.,Location controlsandSecurityupdates Android11–A ndroid11wasfirstannouncedbyGoogleonFebruary19,2020,andthefirst developerpreviewreleasedonthesamedaycomeswithDynamicmediacontrols,built-in screenrecorder,Chatbubbles,Screenrecorder,Notificationhistory,One-timepermission, Permissionsauto-resetetc. Android12–I twasannouncedandreleased byGoogleonFebruary18,2021withfeatures EasierWi-FisharingandAVIFimagesupport.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
7
XMLinAndroid XMLstandsforExtensibleMarkupLanguage.XMLisamarkuplanguagemuchlikeHTMLused todescribedata. XMLtagsarenotpredefinedinXML.WemustdefineourownTags.Xmlas itselfiswellreadablebothbyhumanandmachine.Also,itisscalableandsimpletodevelop.In Androidweusexmlfordesigningourlayoutsbecausexmlislightweightlanguagesoitdoesn’t makeourlayoutheavy. InthisarticlewewillgothroughthebasicconceptsofxmlinAndroidanddifferentXMLfiles usedfordifferentpurposeinAndroid.ThiswillhelpyouinwritingaUIcodetodesignyour desireduserinterface.
BasicsOfUserInterface: ThewholeconceptofAndroidUserInterfaceisdefinedusingthehierarchyofViewand ViewGroupobjects.AViewGroupisaninvisiblecontainerthatorganizeschildviews.These childviewsareotherwidgetswhichareusedtomakethedifferentpartsofUI.OneViewGroup canhaveanotherViewGroupasanchildelementasshowninthefiguregivenbelow:
HereinaboveDiagramViewGroup(LinearLayout)containsoneViewGroup(i.e.Relative Layout)andtwoView(ButtonandTextView).FurthertwomoreView(i.e.2EditText)arenested insideRelativeLayoutViewGroup.Itisimportanttonotethatonelayoutcanbenestedin anotherlayout.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
8
Thebelowcodesnippetwillexplaintheaboveimageinbetterway.Pasteitin activity_main.xml: < /RelativeLayout>
EveryAndroidapplicationscreenhassomecomponentslikebutton,Textorimages.Theseare containedinsidetheViewGroup.LayoutsarethebestexamplesforViewGroups.Thedifferent typesoflayoutinandroidareLinearLayout,RelativeLayout,AbsoluteLayout,TableLayoutand FrameLayout.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
9
DifferentXMLFilesUsedinAndroid: InAndroidthereareseveralxmlfilesusedforseveraldifferentpurposes.Belowwedefineeach andeveryone.
1.LayoutXMLFiles:LayoutxmlfilesareusedtodefinetheactualUI(Userinterface)ofour application.Itholdsalltheelements(views)orthetoolsthatwewanttouseinourapplication. LiketheTextView’s,Button’sandotherUIelements. LocationinAndroidStudio: Youwillfindoutthisfileinsidetheresfolderandinsideitthereisanotherfoldernamedlayout whereyouwillgetallthelayoutfilesfortheirrespectiveactivitiesorfragments.
BasicLayoutXMLCode: Belowweshowactivity_main.xmlfileinwhichwehavetwoTextView’s.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
10
2.ManifestxmlFile(Mainfest.xml):T hisxmlisusedtodefineallthecomponentsofour application.Itincludesthenamesofourapplicationpackages,ourActivities,receivers,services andthepermissionsthatourapplicationneeds.ForExample–Supposeweneedtouseinternet inourappthenweneedtodefineInternetpermissioninthisfile. LocationinAndroidStudio: Itislocatedinsideapp>manifestsfolder
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
11
DefiningInternetPermissioninAndroidManifest.xml BelowweshowtheA ndroidManifest.xmlfileanddefinetheInternetPermissioninthatfile. < !-- applicationp ackage name->
3.StringsxmlFile(strings.xml):T hisxmlfileisusedtoreplacetheHard-codedstrings withasinglestring.Wedefineallthestringsinthisxmlfileandthenaccesstheminour app(Activityorin LayoutXMLfiles)fromthisfile.Thisfileenhancethereusabilityofthecode.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
12
LocationinAndroidStudio:
Belowweshows trings.xmlfileanddefineastringinthefile. M y Application H ello world! S ettings U ser Login
5.DrawablexmlFiles:T hesearethosexmlfilesthatareusedtoprovidevariousgraphicsto theelementsorviewsofapplication.WhenweneedtocreateacustomUIweusedrawablexml files.SupposeifweneedtodefineagradientcolorinthebackgroundofButtonoranycustom shapeforaviewthenwecreateaDrawablexmlfileandsetitinthebackgroundofView.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
14
Belowweshowcustom_drawable.xmlfileandcreateagradientbackgroundcolorusingstyle attribute. # 0f0 # fff
7.DimensionxmlFile(dimens.xml):T hisxmlfileisusedtodefinethedimensionsofthe View’s.SupposeweneedaButtonwith50dp(densitypixel)heightthenwedefinethevalue 50dpindimens.xmlfileandthenuseitinourappfromthisfile. LocationinAndroidStudio:
Belowweshowthedimens.xmlfileinwhichwedefine50dp dimensionforButtonheight.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
< Button a ndroid :l ayout_width =" wrap_content" a ndroid :l ayout_height =" wrap_content" a ndroid :t ext =" Button1" a ndroid :i d =" @+id/button" a ndroid :b ackground =" #358a32" / > < Button a ndroid :l ayout_width =" wrap_content" a ndroid :l ayout_height =" wrap_content" a ndroid :t ext =" Button2" a ndroid :i d =" @+id/button2" a ndroid :b ackground =" #0058b6" / >
2.Horizontal: Inthisallthechildarearrangedhorizontallyinalineoneaftertheother.Inbelowcode snippetswehavespecifiedorientation“horizontal”sothechilds/viewsofthislayoutare displayedhorizontally. < !-- H orizontal O rientation s et ->
Example:OrientationHorizontal:
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
31
< !-- H orizontal O rientation s et -> < Button a ndroid :l ayout_width =" wrap_content" a ndroid :l ayout_height =" wrap_content" a ndroid :t ext =" Button2" a ndroid :i d =" @+id/button2" a ndroid :b ackground =" #0e7d0d" / > < Button a ndroid :l ayout_width =" wrap_content" a ndroid :l ayout_height =" wrap_content" a ndroid :t ext =" Button1"
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
32
a ndroid :i d =" @+id/button" a ndroid :b ackground =" #761212" / >
3.layout_weight:Thelayoutweightattributespecifyeachchildcontrol’srelative importancewithintheparentlinearlayout. Example:weightpropertyforbuttoninlinearlayout.Inthebelowexampleone buttonisofweight2andotherisofweight1.
ExampleofLinearLayout: Nowletsdesign2linearlayoutUI.Firstwehavedesignedusingweightattributeandsecond withoutusingit.Sobelowlayoutoutputwillclearthedifferencebetweenthem:
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
34
Example1:FirstwewilldesignAndroidLinearLayoutwithoutusingweightproperty InthisexamplewehaveusedoneTextViewand4Button.Theorientationissetto vertical. Belowisthecodeofactivity_main.xml < TextView a ndroid :l ayout_width =" wrap_content" a ndroid :l ayout_height =" wrap_content" a ndroid :t extAppearance =" ?android:attr/textAppearanceLarge" a ndroid :t ext =" Linear Layout (Without Weight)" a ndroid :i d =" @+id/textView" a ndroid :l ayout_gravity =" center_horizontal" / >
3.alignLeft:a lignLeftisusedtomaketheleftedgeoftheviewmatchtheleftedgeofthe givenanchorviewIDandmustbeareferencetoanotherresource,intheformofExample: android:layout_alignLeft=”@+id/button1″. BelowisthecodeandlayoutimageinwhichwehavealignedaviewwithidtextView2leftof anotherviewwithidtextView.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
40
5.alignStart:alignStartpropertyisusedtomakesthestartedgeofthisviewmatchthestart edgeofthegivenanchorviewIDandmustbeareferencetoanotherresource,intheformof likethisexample:android:layout_alignStart=”@+id/button1″ BelowisthealignStartcodeandlayoutimageinwhichwehavealignedaviewwithidtextView2 startofanotherviewwithidtextView.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
41
7.alignParentBottom:I falignParentBottompropertyistrue,makesthebottomedgeofthis viewmatchthebottomedgeoftheparent.Thevalueofalignparentbottomiseithertrueor false.Example:android:layout_alignParentBottom=”true”
ImportantNote:alignParentBottomandalignBottomaretwodifferentproperties.In alignBottomwegivethereferenceofanotherviewintheformofidthattheviewisalignedat thebottomofreferencedviewbutinalignParentBottomthebottomedgeoftheviewmatches thebottomedgeoftheparent. BelowisthealignParentBottomcodeandlayoutimageinwhichtextViewissimplydisplayed usingthealignParentBottom.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
43
9.alignParentLeft:IfalignParentLeftpropertyistrue,makestheleftedgeofthisviewmatch theleftedgeoftheparent.Thevalueofalignparentleftiseithertrueorfalse.Example: android:layout_alignParentLeft=”true”.
ImportantNote:alignParentLeftandalignLeftaretwodifferentproperties.InalignLeftwe givethereferenceofanotherviewintheformofidthattheviewisalignedtotheleftofthe referencedviewbutinalignParentLefttheleftedgeoftheviewmatchestheleftedgeofthe parent. BelowisthealignParentLeftexamplecodeandlayoutimageinwhichtextViewissimply displayedonparentImageintheleftside.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
45
11.alignParentStart:IfalignParentStartistrue,thenitmakesthestartedgeofthisview matchthestartedgeoftheparent.Thevalueofalignparentstartiseithertrueorfalse. Example:android:layout_alignParentStart=”true”.
ImportantNote:a lignParentStartandalignStartaretwodifferentproperties,InalignStart wegivethereferenceofanotherviewintheformofidthattheviewisalignedatthestartof referencedviewbutinalignParentStartthestartedgeoftheviewmatchesthestartedgeofthe parent(RelativeLayout). BelowisthealignParentStartexamplecodeandlayoutimageinwhichtextViewissimply displayedonparentImageintherightside.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
47
13.centerInParent:Ifcenterinparentistrue,makestheviewinthecenterofthescreen verticallyandhorizontally.Thevalueofcenterinparentiseithertrueorfalse.Example: android:layout_centerInParent=”true”. BelowistheexamplecodeofcenterInParentpropertyandalsolayoutimage.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
49
15.centerVertical:IfcenterVerticalpropertyistrue,maketheviewverticallycenter.The valueofalignparentbottomiseithertrueorfalse.Example: android:layout_centerVertical=”true”. BelowistheexamplecodeofcenterVerticalpropertyandalsolayoutimage. < TextView a ndroid :i d =" @+id/userName" a ndroid :l ayout_width =" wrap_content" a ndroid :l ayout_height =" wrap_content" a ndroid :l ayout_marginLeft =" @dimen/activity_horizontal_margin" a ndroid :l ayout_marginTop =" 110dp" a ndroid :t ext =" UserName:" a ndroid :t extColor =" #000000" a ndroid :t extSize =" 20sp" / > < EditText a ndroid :i d =" @+id/edt_userName" a ndroid :l ayout_width =" fill_parent" a ndroid :l ayout_height =" 40dp" a ndroid :l ayout_marginLeft =" @dimen/activity_horizontal_margin" a ndroid :l ayout_marginTop =" 100dp" a ndroid :l ayout_toRightOf =" @+id/userName" a ndroid :h int =" User Name" / > < Button a ndroid :i d =" @+id/btnLogin" a ndroid :l ayout_width =" wrap_content" a ndroid :l ayout_height =" wrap_content" a ndroid :l ayout_below =" @+id/password"
51
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
52
a ndroid :l ayout_centerHorizontal =" true" a ndroid :l ayout_marginTop =" 20dp" a ndroid :b ackground =" #03B424" a ndroid :t ext =" Login" a ndroid :t extColor =" #ffffff" a ndroid :t extStyle =" bold" / >
Output:
DifferencebetweenLinearAndRelativeLayout: RELATIVELAYOUT: ●
Everyelementofrelativelayoutarrangesitselftotheotherelementoraparentelement.
●
Itishelpfulwhileaddingviewsonenexttootheretc
●
InarelativelayoutyoucangiveeachchildaLayoutPropertythatspecifiesexactly whereitshouldgoinrelativetotheparentorrelativetootherchildren.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
53
●
Viewscanbelayeredontopofeachother.
LINEARLAYOUT: ●
Inalinearlayout,likethenamesuggests,alltheelementsaredisplayedinalinear fashioneitherverticallyorhorizontally.
●
EitherHorizontallyorVerticallythisbehaviorissetinandroid:orientationwhichisan propertyofthenodeLinearLayout.
android :o rientation =" horizontal" o r android :o rientation =" vertical"
●
Linearlayoutsputeverychild,oneaftertheother,inaline,eitherhorizontallyor vertically.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
54
TableLayout InAndroid,TableLayoutisusedtoarrangethegroupofviewsintorowsandcolumns.Table Layoutcontainersdonotdisplayaborderlinefortheircolumns,rowsorcells.ATablewillhave asmanycolumnsastherowwiththemostcells.
Atablecanalsoleavethecellsemptybutcellscan’tspanthecolumnsastheycanin HTML(Hypertextmarkuplanguage).
ImportantPointsAboutTableLayoutInAndroid: Forbuildingarowinatablewewillusetheelement.Tablerowobjectsarethe childviewsofatablelayout. Eachrowofthetablehaszeroormorecellsandeachcellcanholdonlyoneviewobjectlike ImageView,TextVieworanyotherview. Totalwidthofatableisdefinedbyitsparentcontainer Columncanbebothstretchableandshrinkable.Ifshrinkablethenthewidthofcolumncanbe shrunktofitthetableintoitsparentobjectandifstretchablethenitcanexpandinwidthtofit anyextraspaceavailable.
© AbhiAndroid.com - Enrol in ourM ASTER ANDROID COURSE HERE
55
ImportantNote:Wecannotspecifythewidthofthechildren’softheTablelayout.Here, widthalwaysmatchparentwidth.However,theheightattributecanbedefinedbyachild; defaultvalueofheightattributeiswrapcontent.
BasicTableLayoutcodeinXML: < !-- collapse the first column of the table row -->
AttributesofTableLayoutinAndroid: Nowlet’swediscusssomeimportantattributesthathelpustoconfigureatablelayoutinXML file(layout).
1.id:idattributeisusedtouniquelyidentifyaTableLayout.