{"id":22864,"date":"2024-03-16T00:21:00","date_gmt":"2024-03-16T00:21:00","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/"},"modified":"2024-03-21T23:53:47","modified_gmt":"2024-03-21T23:53:47","slug":"in-depth-explanation-of-tablelayout-table-layout-in-android-basics","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/","title":{"rendered":"In-depth explanation of TableLayout (table layout) in Android basics."},"content":{"rendered":"<p>TableLayout is a layout container in Android used for creating table layouts, allowing for the creation of tables with rows and columns in the interface. One of the key features of TableLayout is that each row can contain multiple columns, with column widths adjusting automatically based on the content.<\/p>\n<p>TableLayout\u7684\u4f7f\u7528\u6b65\u9aa4\u5982\u4e0b\uff1a<\/p>\n<ol>\n<li>Add a TableLayout widget in the layout file.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">TableLayout<\/span>\r\n    <span class=\"hljs-attr\">android:id<\/span>=<span class=\"hljs-string\">\"@+id\/tableLayout\"<\/span>\r\n    <span class=\"hljs-attr\">android:layout_width<\/span>=<span class=\"hljs-string\">\"match_parent\"<\/span>\r\n    <span class=\"hljs-attr\">android:layout_height<\/span>=<span class=\"hljs-string\">\"wrap_content\"<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">TableLayout<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>Get the instance of the TableLayout control in the Activity.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">TableLayout<\/span> <span class=\"hljs-variable\">tableLayout<\/span> <span class=\"hljs-operator\">=<\/span> findViewById(R.id.tableLayout);\r\n<\/code><\/pre>\n<ol>\n<li>Create a TableRow object and add it to the TableLayout.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">TableRow<\/span> <span class=\"hljs-variable\">row<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">TableRow<\/span>(<span class=\"hljs-built_in\">this<\/span>);\r\ntableLayout.addView(row);\r\n<\/code><\/pre>\n<ol>\n<li>Create a TextView or another View object and add it to a TableRow.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">TextView<\/span> <span class=\"hljs-variable\">textView<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">TextView<\/span>(<span class=\"hljs-built_in\">this<\/span>);\r\ntextView.setText(<span class=\"hljs-string\">\"Text\"<\/span>);\r\nrow.addView(textView);\r\n<\/code><\/pre>\n<ol>\n<li>Repeat steps 3 and 4 to create and add multiple TableRow and View objects.<\/li>\n<\/ol>\n<p>Apart from dynamically creating table layouts using code, you can also statically create table layouts in the layout file. When adding TableRows and Views, it is important to consider the following points:<\/p>\n<ol>\n<li>In each row, the width of each column will adjust automatically based on the content, and you can control the ratio of column widths by setting the android:layout_columnWeight attribute.<\/li>\n<li>Multiple columns can be merged by setting the android:layout_span attribute.<\/li>\n<li>You can control the position of a View within a cell by setting the android:layout_gravity attribute (such as centering or aligning to the left).<\/li>\n<\/ol>\n<p>TableLayout also provides some common methods such as getting the number of TableRows, getting a specific TableRow at a certain position, and getting a specific View at a certain position, which can be used to dynamically manipulate the table layout.<\/p>\n<p>In summary, TableLayout is a layout container used for creating table layouts, allowing for the creation of a table structure with rows and columns in the interface. It can be flexibly created and manipulated through code or layout files.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TableLayout is a layout container in Android used for creating table layouts, allowing for the creation of tables with rows and columns in the interface. One of the key features of TableLayout is that each row can contain multiple columns, with column widths adjusting automatically based on the content. TableLayout\u7684\u4f7f\u7528\u6b65\u9aa4\u5982\u4e0b\uff1a Add a TableLayout widget in [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-22864","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>In-depth explanation of TableLayout (table layout) in Android basics. - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"In-depth explanation of TableLayout (table layout) in Android basics.\" \/>\n<meta property=\"og:description\" content=\"TableLayout is a layout container in Android used for creating table layouts, allowing for the creation of tables with rows and columns in the interface. One of the key features of TableLayout is that each row can contain multiple columns, with column widths adjusting automatically based on the content. TableLayout\u7684\u4f7f\u7528\u6b65\u9aa4\u5982\u4e0b\uff1a Add a TableLayout widget in [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T00:21:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T23:53:47+00:00\" \/>\n<meta name=\"author\" content=\"Emily Johnson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emily Johnson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/\"},\"author\":{\"name\":\"Emily Johnson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\"},\"headline\":\"In-depth explanation of TableLayout (table layout) in Android basics.\",\"datePublished\":\"2024-03-16T00:21:00+00:00\",\"dateModified\":\"2024-03-21T23:53:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/\"},\"wordCount\":292,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/\",\"name\":\"In-depth explanation of TableLayout (table layout) in Android basics. - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T00:21:00+00:00\",\"dateModified\":\"2024-03-21T23:53:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"In-depth explanation of TableLayout (table layout) in Android basics.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\",\"name\":\"Emily Johnson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"caption\":\"Emily Johnson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"In-depth explanation of TableLayout (table layout) in Android basics. - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/","og_locale":"en_US","og_type":"article","og_title":"In-depth explanation of TableLayout (table layout) in Android basics.","og_description":"TableLayout is a layout container in Android used for creating table layouts, allowing for the creation of tables with rows and columns in the interface. One of the key features of TableLayout is that each row can contain multiple columns, with column widths adjusting automatically based on the content. TableLayout\u7684\u4f7f\u7528\u6b65\u9aa4\u5982\u4e0b\uff1a Add a TableLayout widget in [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T00:21:00+00:00","article_modified_time":"2024-03-21T23:53:47+00:00","author":"Emily Johnson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Emily Johnson","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/"},"author":{"name":"Emily Johnson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378"},"headline":"In-depth explanation of TableLayout (table layout) in Android basics.","datePublished":"2024-03-16T00:21:00+00:00","dateModified":"2024-03-21T23:53:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/"},"wordCount":292,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/","url":"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/","name":"In-depth explanation of TableLayout (table layout) in Android basics. - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T00:21:00+00:00","dateModified":"2024-03-21T23:53:47+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/in-depth-explanation-of-tablelayout-table-layout-in-android-basics\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"In-depth explanation of TableLayout (table layout) in Android basics."}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378","name":"Emily Johnson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","caption":"Emily Johnson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/22864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=22864"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/22864\/revisions"}],"predecessor-version":[{"id":56809,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/22864\/revisions\/56809"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=22864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=22864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=22864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}