DAY7:版面配置及基本元件之简介

今天要来说到版面配置的部分!
首先,我们第一个先从”画面设计”开始说起,还记的我们前面说到的吗?关於使用者的介面都会在res目录中,所以关於画面设计的layout档就是放置在res/layout目录底下。
https://ithelp.ithome.com.tw/upload/images/20210922/20140488zXe2GicsDG.png
画面中的左上区块,就是我们的元件,像是button按钮或是textview对话框等,我们都可以使用这个元件盘去新增到我们的画面。
而左下角的元件树可以让我们知道各个元间所定位的关系,尤其当画面复杂的时候,元件树的层级很可能影响到我们画面的呈现,其实这种层级关系所赠成画面的表现,很常在各种人机介面设计或是各种美编软件上会碰到喔!!
再来看到右侧区块,那就是我们所选到的元件的属性内容,我们也可以直接透过属性表更改。
最後我们看到右上角那个区块,当我们点选”design”我们会看到画面呈现的样子,而当我们按code则会呈现xml格式的程序码(如下图)。
https://ithelp.ithome.com.tw/upload/images/20210922/20140488Fs2twhoBQA.png
第二个我们要说到”版面布局”,首先讲到”LinearLayout”依照顺序逐一地排列我们所放置的元件,是最常被使用的布局方式。依照方向不同将分成vertical(垂直排列)及horizontial(水平排列),可以透过Orientiation(属性)切换。
属性可以决定LinearLayout或是vertical或horizontial,预设的话是vertical。
我们到了三个版面布局的方式之後,在我们画面中所放置的每个元件属性也可以透过layout:width或layout:height去设定元件的宽与高。
通常我们都是设定为match_parent也就是将元件的常与宽扩展到最大,但最大就是跟父层级相同,或是wrap_content随着元件包含的文字或图片去改变。
再来说到FrameLayout是以堆叠的方式,这种介面布局,子层级皆会重叠,而重叠的顺序会依照元件树,下面的元件会覆盖上面的元件。
最後一个我们要说到ConstraintLayout这个方法可以解决层级过多的问题,采用堆叠的方式呈现,定位需要明确参考描述对象,非常适合使用图形化的方式来编辑。
第三个我们要来讲到视窗元件,最常用的有四个,
1.Textview
显示文字的为自元件,我们在开启专案最一开始的那行Hello,world就是textview。
https://ithelp.ithome.com.tw/upload/images/20210922/20140488mED8e4mBpT.png
2.button
为触发点选事件的按钮元件,像是我们常按的传送等等。
https://ithelp.ithome.com.tw/upload/images/20210922/20140488SPaiBDCiG7.png
3.EditText
可输入讯息的元件,当此元件被点选会自动跳出键盘,让使用者能够针对android:text去做输入。
https://ithelp.ithome.com.tw/upload/images/20210922/201404889rmvqwAtdp.png
4.radiogroup与radiobutton
单选的群体及单选元件,一个radiogroup可以放置多个radiobutton 。
https://ithelp.ithome.com.tw/upload/images/20210922/201404889vC4vsMfxX.png


<<:  Day 20-制作购物车系统之建立Routes&Controller

>>:  Day 22 「戏如人生」以真实案例分析 Clean Architecture 的分层原则

铁人赛 Day9 -- 一定要知道的 CSS (六) -- background-color/background-image

前言 背景是一个如此重要的东西,你能想像萤幕的话棉全都是白底或黑底吗!!当然不行啊!! backgr...

CSS就可以!animation 与他的好夥伴 @keyframes

如果说HTML是网页开发的第一堂课,CSS差不多就会再第二堂课出现了,好消息是,只要用第二堂学到的语...

Day 23 AWS的云上排队服务-SQS

想知道如何在云端上传递和处理来自使用者的网路请求讯息吗?AWS的SQS可以帮助我们做到这一点。我们往...

【Day 26】关於 Deno 与 NodeJS 的这些年和那些事

前言 可能看这系列的读者会觉得,这主题也太跳了吧~~Deno 不是基於 Typescript 的语...

Day 19 - Execution Context

JavaScript 在运作时会建立执行环境,分为 Global Execution Context...