你的第一个android应用----(3)创建用户界面

阅读更多

                                                                     创建用户界面

    本节课程中,你将创建一个XML布局文件,里面包含一个文本域和一个按钮.下一节课程中,当点击按钮发送文本域中的内容

    给另一个活动页面时,你的程序将响应.

 

    安卓应用的图形用户界面通过具有层级结构的View和ViewGroup对象创建.View对象长用于用户界面的局部部件,例如:

    按钮,文本域.ViewGroup对象一个不可见的用于定义子视图布局的,例如:网格视图布局,垂直视图布局.

 

    安卓提供了一个同View和ViewGroup对应的XML文件.因此,你可以使用用户界面元素的层级结构在

    这个XML文件中定义你的用户界面.

    你的第一个android应用----(3)创建用户界面_第1张图片

    布局对象是ViewGroup的子元素,在这个练习中,你将学习线性布局.

 

    设置线性布局:

        1.在Android Studio中,找到res/layout文件夹,打开activity_my.xml文件.

          当你创建这个工程时,选择的BlankActivity模板对应的activity_my.xml文件中包含了一个相对布局

          的根视图和一个文本视图的子视图.

        2.在预览面板上,单击隐藏图标按钮关闭预览面板.

          在Android Studio中,当你打开一个布局文件时,最先显示的就是预览面板.在面板中点击元素就会在

          设计面板中打开WYSIWYG工具.在本节课程中,我们学习直接通过XML文件布局和添加内容.

        3.删除""元素.

        4.将""元素改成""

        5.添加"android:orientation"属性,并设置为"horizontal".

        6.删除"android:padding"属性和"tools:context"属性.

 

        最终结果如下:

            res/layout/activity_my.xml

 

 
 

 

        线性布局对象(LinearLayout)是一个视图容器,用于设置子视图为垂直布局还是水平布局.例如"android:orientation"

        如属性值所规定的那样.每一个线性布局对象的子元素都会根据XML文件中指定的顺序显示在屏幕上.

 

        为了详细说明视图的大小,可以使用另外两个属性"android:layout_width"和"android:layout_height"定义.

 

        因为LinearLayout是布局根视图,所以它应该覆盖整个屏幕区域以提供给程序使用.将宽度和高度设置为"match_parent",

        这个值声明视图的将扩展自己的宽,高以适应父视图的宽和高.

 

        添加一个文本域:

            和定义每一个视图对象一样,你必须定义确切的XML属性来详细说明编辑框对象的属性.

 

            1.在activity_my.xml文件的""元素中,定义一个""元素

              "id"属性设置为"@+id/edit_message".

            2.将"layout_width"和"layout_height"属性的值设置为"wrap_content".

            3.定义一个名为"edit_message"的字符串对象属性"hint".

 

            "元素最终如下:

                res/layout/activity_my.xml

 

 

 

            下面我们对在""元素中添加的属性做详细说明:

                android:id

                    为视图指定一个唯一的标识符,你可以通过这个唯一的标识符从你的程序代码中引用这个对象,

                    例如:读取和操作这个对象(我们将在下节课程中讲述).

 

                    首先"@"符号是必须的,通过它你可以从XML中引用任何资源对象.接下来是资源类型(在这里是id),

                    然后是正斜线"/",最后是资源名称(edit_message).

 

                    位于资源类型前面的加号(+),只在你第一次定义资源ID时才需要添加.当编译程序时,SDK工具会

                    使用这个ID名创建一个新的资源ID,并添加到工程下gen/R.java文件中,指向"EditText"元素.

                    通过这种方式声明资源ID后,再引用这个ID时就不需要加号(+)了.只在定义新的资源ID时才

                    需要使用加号(+),定义或声明其他资源(例如:字符串,布局等)不需要使用加号(+).

 

                    资源对象:

                        一个资源对象是与一个应用程序资源(如:位图,布局文件,字符串)相关联的唯一整数名称.

 

                        每一个资源在工程路径下的gen/R.java文件中都有一个对应的资源对象.例如,当你需要

                        为"android:hint"属性定义一个字符串值时,你可以使用R类中的对象名称来引用资源.

                        你也可以通过使用"android:id"属性为相关视图创建任意资源ID,通过这个资源ID,你可以

                        其他代码中引用这个视图.

 

                        你每次编译程序,SDK都会重新构建R.java文件.因此请不要手动修改R.java文件.

 

                android:layout_width和android:layout_height

                    不使用特定的值设置宽度和高度,而是使用"wrap_content",目的在于使用这个值会使

                    视图自适应内容的大小.如果是用"match_parent",则"EditText"元素将会充满屏幕,

                    因为它匹配的是父类"LinearLayout"的大小.

 

                android:hint

                    当文本域为空是,默认显示这个属性的字符串.之所以使用"@string/edit_message"

                    指向独立文件中的字符串资源,而不使用硬编码字符串,是因为它指向的是一个具体的资源

                    (不仅仅是一个标识符),这里不需要使用加号(+).然而,由于目前你还没有定义字符串资源,

                    你将看到一个编译错误.在下一个节中定义字符串资源后将修复这个问题.

 

                    备注:这个字符串资源和元素ID拥有相同的名称"edit_message".然而,资源的引用总是被

                        资源类型域(如:id或string)却分开的,所以使用相同的名称并不会造成冲突.

 

        添加字符串资源:

            默认在工程路径/res/values/strings.xml下有一个字符串资源文件,在这里你可以添加一个名为

            "edit_message"的字符串,设置值为"Enter a message.".

 

            1.在Android Studio中打开res/values文件夹下的strings.xml文件.

            2.添加一个名为"edit_message"值为"Enter a message"的字符串元素.

            3.添加一个名为"button_send"值为"Send"的字符串元素.

              在下一节中,你将会使用这个字符串创建一个按钮.

            4.删除"hello world"行.

 

            strings.xml文件最终如下:

                res/values/strings.xml

 



     My First App
     Enter a message
     Send
     Settings
     MainActivity

 

            通常用户界面中的每一个文本都有一个对应的字符串资源.这样方便在同一个地方管理所有的用户

            界面文本,这使得查找和更新文本信息变得非常容易.将字符串外部化,可以非常方便的定义不同的

            替代字符串资源,使你的程序能够非常容易的以不同的语言本地化.

 

        添加按钮:

            1.打开res/layout文件夹中的activity_my.xml文件

            2.在""元素中定义一个"

  • 你的第一个android应用----(3)创建用户界面_第3张图片
  • 大小: 5.2 KB
  • 你的第一个android应用----(3)创建用户界面_第4张图片
  • 大小: 5.2 KB
  • 你的第一个android应用----(3)创建用户界面_第5张图片
  • 大小: 18.5 KB
  • 查看图片附件

你可能感兴趣的:(Android创建用户界面,布局,文本,按钮,使输入框占满屏幕宽度)