一、新建一个项目

选择empty activity,此时项目里面没有main.java的文件。

二、手动创建java文件

Project那儿选择android模式,在app/java/com....一般是第一个文件夹下,右击鼠标new->activity->empty activity。Activity Name、Layout Name随便取名,但是要取消外观支援档的勾即取消Generate Layout File前面的勾。接着在Launcher Activity前打勾,意思是以这个activity作为一个主要的activity,以此为进入点。点击Finish。

三、手动创建外观档文件

app/res,右击res,new->XML->Layout XML File。Layout File Name 随便取,不过不能有大写英文字母,一般有多个英文单词,中间以_分开。Root Tag选择类别为LinearLayout。点击Finish。

四、设计layout.xml

按住鼠标左键,拖动三个Button按钮到手机预览界面,点击Component Tree下的LinearLayout,在右侧Attributes下有一些设置。在LinearLayout标签下有个orientation选项,默认是horizaontal即水平排列,如果将其改为vertical,会发现Button按钮变成垂直排列了,且占满了竖直的空间,Button大小有点奇怪。在中间界面layout.xml下让其从Design切换到Text即文本模式,将第一个Button标签下的android:layout_weight="1"去掉,会发现最上面的按钮大小缩小了。将剩下两个Button下的这句话也去掉,会发现样子正常了。在将界面切换到Design模式,将orientation改回horizontal模式,三个按钮变成横排了,不过不再占据一整行,可以在拖动一个按钮进去。并在文本模式下将其weight删掉。回到Design界面,点选屏幕上最左侧的Button,在右侧text处为它取名为Button #1,并依次将后面三个按钮改名为Button #2,Button #3,Button #4,由于Button #4没有足够的位置,它的文字变成两行了。点选Button #1将其layout_width改为match_parent,那么Button #1就会占据一行,2,3,4个按钮都会不见。如果点击LinearLayout将orientation换成vertical,2,3,4个出现在下面垂直排列。依次点选Button2,3,4,将layout_width 都选择match_parent,则四个按钮会垂直排列,宽度就是一整行。

效果图如下:

layout.xml中text代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <Button
android:id="@+id/button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button #1" />
<!--android:layout_weight="1"-->
android:text="Button" /> <Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button #2" />
<!--android:layout_weight="1"-->
android:text="Button" /> <Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button #3" />
<!--android:layout_weight="1"-->
android:text="Button" /> <Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button #4" />
<!--android:layout_weight="1"-->
android:text="Button" />
</LinearLayout>

  最后打开之前创建的main.java,在super.onCreate(saveInstanceState);后面加上setContentView(R.layout.layout);整个简单的程序就完成了,就以编译运行。

第三篇-以LinearLayout进行Android界面设计的更多相关文章

  1. 第四篇-以ConstraintLayout进行Android界面设计

    此文章基于第三篇. 一.新建一个layout.xml文件,创建方法不再赘述,在Design界面右击LinearLayout,点击Convert LinearLayout to ConstraintLa ...

  2. android 界面设计基本知识Ⅲ

    本章继续讲述在android界面设计中相关的知识点.介绍内容包括BroadcastReceiver(广播),Service(服务),Widget(小部件),WebView(网页加载控件). 1.Bro ...

  3. android界面设计之布局管理

    谈到android界面设计,各种布局样式不得不提!传统的布局方式有6种,我们会一一介绍. 在android studio2.2版本之后出现了一款超棒的布局方式,真正意义上的所见即所得,后面我们也会讲到 ...

  4. Android界面设计适配不同屏幕的尺寸和密度解读

    Android是运行在各种提供不同的屏幕尺寸和密度的设备.Android系统提供跨设备的统一开发环境和处理大部分的工作,以调整每个应用程序的用户界面,以在其上显示的画面. 同时,该系统提供了API,允 ...

  5. 三十三、Java图形化界面设计——布局管理器之null布局(空布局)

    摘自http://blog.csdn.net/liujun13579/article/details/7774267 三十三.Java图形化界面设计--布局管理器之null布局(空布局) 一般容器都有 ...

  6. 三十一、Java图形化界面设计——布局管理器之GridLayout(网格布局)

    摘自http://blog.csdn.net/liujun13579/article/details/7772491 三十一.Java图形化界面设计--布局管理器之GridLayout(网格布局) 网 ...

  7. Java系列--第三篇 基于Maven的Android开发CAIO

    学习要打好基础,这里用一个项目来学习一下Android的组件,参考网址为这个但不限于这个.有些东西的学习,理解三遍理论还不如一遍操作,所谓理论来自实践,实践是检验真理的唯一标准.所以,虽然看懂了那篇文 ...

  8. 第三篇 功能实现(2) (Android学习笔记)

    第三篇 功能实现(2) ●Activity的四种启动模式 Activity的启动模式有四种,分别是standard.singleTop.singleTask和singleInstance. 在Andr ...

  9. 第三篇 功能实现(1) (Android学习笔记)

    第三篇 功能实现(1) 第8章 Android应用程序组成 ●Android的一些中.底层基础知识 ※ Android Framework 启动过程 Android手机系统本质上是一个基于Linux的 ...

随机推荐

  1. Android——SMS接收发短信与运行权限

    好久没写了,最近学习Android的相关知识,包括UI组件与布局.Activity生命周期等,而这次要讲的是,Broadcast Receiver的相关知识,主要是接收发短信,SmsManager.S ...

  2. python爬虫之Gerapy安装部署

    原创北航大才:https://cuiqingcai.com/5006.html NULL:http://www.infosec-wiki.com/?p=432737

  3. VMware与CentOS的安装与Linux简单指令

    一 . VMware与CentOS系统安装 下载CentOS系统的ISO镜像 # 官方网站,国外网站,下载速度会很慢 www.centos.org # 由于国外的下载速度慢,我们可以使用国内的镜像源 ...

  4. centso7 安装redmine

    一.安装rvm ###安装rvm gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D3 ...

  5. python数据结构与算法第三天【时间复杂度计算方法】

    最优时间复杂度(不可靠) 最坏时间复杂度(保证) 平均时间复杂度(平均状况) 不同语句的时间复杂度: (1)顺序语句:使用加法 (2)循环语句:使用乘法 (3)分支语句:使用坏时间复杂度 例如:如下代 ...

  6. SpringBoot之通过yaml绑定注入数据

    依赖包: <!--配置文件注解提示包--> <dependency> <groupId>org.springframework.boot</groupId&g ...

  7. sql中的begin catch 。。。end catch 的用法

    begin catch ...end  catch 是用来处理异常的 begintry--SQLendtry begincatch--sql (处理出错动作)endcatch 我们将可能会出错的sql ...

  8. 使用 Travis CI 自动部署 Hexo 站点至 GitHub Pages

    Hexo 与 GitHub Pages 安装配置请参考:Hexo 与 GitHub Pages 本文源码与生成的静态文件在同一项目下,源码在 source 分支,静态文件在 master 分支 新增 ...

  9. Codeforces#543 div2 A. Technogoblet of Fire(阅读理解)

    题目链接:http://codeforces.com/problemset/problem/1121/A 真·阅读理解 题意就是 有n个人 pi表示他们的强度 si表示他们来自哪个学校 现在Arkad ...

  10. JS 强制类型转化

    在Js中, 强制类型转化分为两种情况: 一种是引用类型转化基本类型, 如数组转化成数字:一种是两种不同基本类型之间的转化,如字符串转化为数字.你不能将基本类型转化成引用类型,比如,不可能把数字转化为数 ...