文档章节

Android学习二

jiejiecool
 jiejiecool
发布于 2015/02/15 11:27
字数 730
阅读 26
收藏 0

建立简单的用户界面

Adnroid图形用户界面是由多个View和ViewGroup构建出来的。

1.View是通用的UI窗体小组件,比如按钮(Button)或者文本框(Text Field)。

2.ViewGroup是不可见的用于定义子View布局方式的容器,比如网格部件(grid)或者垂直列表部件(list)。

ViewGroup如何组织布局分支和包含其他view对象。

                                   image

这一节的目标是使用xml创建一个带有文本输入框和按钮的界面

一、创建一个LinearLayout

       从目录res/layout中打开activity_main.xml文件,进入xml编辑,会看见有<RelativeLayout>根节点和<TextView>子节点。

1、删除TextView子节点,修改RelativeLayout根节点名称为LinearLayout

2、给LinearLayout添加一个属性为:android:orientation=”horizontal”

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.helloworld.MainActivity" 
    android:orientation="horizontal">

 

</LinearLayout>

       LinearLayout是ViewGroup的一个子类,用户放置水平或者垂直放置子视图的部件,由属性andoroid:orientation来设定方向。LinearLayout里的子布局按照XML里定义的顺序显示在屏幕上。

        android:layout_width和android:layout_height,对于所有的Views都需要对这两个属性进行设置。

android:layout_width="match_parent"
android:layout_height="match_parent"

LinearLayout是整个视图的根布局,对于宽和高是充满整个屏幕的,通过指定match_parent,表示匹配父控件的布局。

添加一个文本输入框


<EditText android:id="@+id/edit_messsage"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:hint="@string/edit_message" />

这边需要给文本框设置一个id,因为在后面可能会用到,所以需要唯一的指定它。

想从xml里使用资源类的时候必须使用@符号,紧随@符号之后的是资源的类型(这里是id),然后是资源的名称,例如@string/zhoujie。

在这个代码中有+id这样的形式存在,+号只是在第一次定义一个资源id的时候需要

android:hint是默认在文本框中显示的字符,android:hint=”@string/edit_message”

我们这是使用的类型是string类型,资源名称叫edit_message,直接使用会报错,因为我们还没有设置这样一个string,打开res/values/strings.xml,

<string name="app_name">HelloWorld</string>
   <string name="edit_message">Enter a message</string>
   <string name="action_settings">Settings</string>
   <string name="zj">send !</string>

edit_message的值为 Enter a message

添加一个按钮

<Button
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/send"
     />

按钮不需要设置id,在strings.xml中设置send的值为:send!

设置结束,我们运行项目!

 

image

这里可以发现,文本框的宽度不是很合适,我们把文本框的宽度设置一样,是用android:weight这个属性设置,表示权重

<EditText android:id="@+id/edit_messsage"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:hint="@string/edit_message" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/send"
    />

设置之后样式为:

image

好的,大功告成!

© 著作权归作者所有

共有 人打赏支持
jiejiecool
粉丝 3
博文 27
码字总数 8397
作品 0
东城
程序员
Android基于XMPP Smack Openfire下学习开发IM

http://blog.csdn.net/h7870181/article/details/8653865 Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等 http://blog.csdn.net/h7870181/article/de......

天下杰论
2014/07/17
0
1
Android中监听锁屏变化和防止锁屏

Android app中可能存在某些可视化耗时操作,需要防止锁屏。 一、监听锁屏 添加权限 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 首先来看如何监听锁屏,使用Bro...

IamOkay
2014/11/22
0
0
Android 进阶学习笔记整理

一.android系统架构图及各层介绍 1. 应用层:应用是用java语言编写的运行在虚拟机上的程序,比如通讯录,日历,电话,短信,浏览器等。 2. 应用框架层:这一层是编写Google发布的核心应用时所...

FunCode
07/22
0
0
第一天学习Android的一些笔记

昨天学习了怎样装Android配置环境,下载SDK用了好久的时间,再加上一开始不会,弄了好长时间,今天第一天学习,跟着视频教程学的。下边是我的一些笔记,仅做留念与学习笔记 。 快捷键: 智能...

子弹兄
2014/01/16
0
0
【Android学习总结】之Activity:深入理解、体验Activity的生命周期

【本博客内的文章是本人的学习笔记总结,如有错误请各位批评指正,谢谢!欢迎加入群285077071讨论】 关于Activity的生命周期的学习,我将从以下几个方面入手来全面认识: 一、什么是生命周期...

kinbos
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

deepin系统使用deepin-wine安装exe程序

deepin自带原生deepin-wine使用命令如下: deepin-wine QQBrowser.exedeepin-wine QQMusicSetup.exe 默认安装的快捷方式位置: /root/.wine/drive_c/'Program Files'/Tencent/QQBrowser/......

临江仙卜算子
43分钟前
2
0
快速get到学习Linux操作系统的点

快速get到学习Linux操作系统的点 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能够运行主要的UNIX工具软件...

linuxCool
50分钟前
3
0
聊聊:Linux分区的那些方案

安装linux的整体步骤其实比较简单,唯一可能值得说明的地方,大概就是linux的分区了。 下面来给大家推荐一些分区方案。 1 分两个区 实际上,很多时候我们只需要分两个区:`/`和交换分区,日常...

Linux就该这么学
今天
1
0
适配器模式和外观模式

适配器模式: 将一个类的接口,转换成客户期望的另一个接口。适配器让原本不兼容的类可以合作无间。 例子: //将Enumeration转换成Iteratorpublic class EnumerationIterator implements Iter...

王怀楼
今天
4
0
7-CXF与Spring整合发布webservice

Spring+CXF整合来管理webservice 实现步骤: 1. 添加cxf.jar 包(集成了Spring.jar、servlet.jar ),spring.jar包 ,servlet.jar 包 2. 编写业务类,通过CXF来发布webservice 员工管理: 方法...

江戸川
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部