一、新建一个项目

选择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. Git使用:Linux(Ubuntu 14.04 x64)下安装Git并配置连接GitHub

    github是一个非常好的网络代码托管仓库,知晓许久,但是一直没有用起来,最近才开始使用git管理自己的文档和代码. Git是非常强大的版本管理工具,今天就告诉大家,如何在Linux下安装GIt,并且 ...

  2. centos6.8安装JDK

    1.检测当前系统安装jdk信息       rpm -qa | grep jdk 2.如果检查到有安装信息,则用sudo yum remove XXX(XXX代表上面查到的结果) 3.下载rpm包,安 ...

  3. jenkins中通过execute shell启动的进程会被杀死的问题

    在jenkins中配置自动更新部署项目时,如果采取用execute shell启动/关闭tomcat,会发现可以进行关闭tomcat, 但是无法启动tomcat,虽然构建会显示执行成功,但是查看进程, ...

  4. 老男孩python学习自修第十四天【序列化和json】

    序列化是使用二进制的方式加密列表,字典或集合,反序列化是解密的过程:序列化开启了两个独立进程进行数据交互的通路 使用pickle进行序列化和反序列化 例如: pickle_test.py #!/usr ...

  5. 老男孩python学习自修第七天【包与模块】

    1.如何导入 from package import module module.function() 常用魔术方法 __init__.py 如果某个文件夹下面有该文件,则该文件夹是一个包,否则只是一 ...

  6. php配置-解决大数据超多字段的POST方式提交无法完全接受的问题

    例如:在盘点表的数据提交中出现了POST大量数据超多字段的将近2000个字段,部分字段没有接受:修改方法为修改php.ini 将max_input_var调大,该值默认为1000 max_input_ ...

  7. nginx rewrite重写

    通过官方文档可以看到,rewrite的作用上下文是   server location,可以写在 server里面  亦或location里面; 命令: if (条件) {} 条件判断 set #设置 ...

  8. 梯度下降取负梯度的简单证明,挺有意思的mark一下

    本文转载自:http://blog.csdn.net/itplus/article/details/9337515

  9. Nginx 优先选择连接最少的上游服务器

    详见陶辉87课 upstream test { server ; server ; least_conn ; zone backends 64k; }

  10. MySQL数据库实现分页查询的SQL语句写法!

    一:分页需求: 客户端通过传递start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了分页的函数limit m,n,但是该函数的用法和我们的 ...