简单的Android XML布局使用_android studio的layout文件下xml怎么输入布局内容-程序员宅基地

技术标签: Android  

Android XML布局


前言

今天我们来简单介绍一下Android的XML布局以及三种常见的XML布局


目录

目录


1.XML布局的优点

在XML文件中设计UI可以更好地将应用的外观与控制应用行为的代码隔离,每次修改或调整界面布局只需要修改XML文件的代码而不是修改源码和重新编译。


2.XML布局基础介绍

2.1 调用XML布局

在编译XML布局文件时,都需要通过main函数中的 onCreate 来调用,通常使用如下方式来进行调用。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_linear_layout);
    }

其中setContentView里的内容‘R’为就是系统给声明的静态变量,所有的子类都是通过‘R’来调用。而‘R’的路径则是 Android 工程路径下的 app -> src -> main -> res 下。
R.layoutres文件夹下一个名为layout的文件夹,而R.layout.activity_linear_layout之后的部分则是layout文件夹下自己定义的.xml文件。

2.2 XML布局的常见属性

属性 描述
ID 控件名字,是当前控件的唯一标识,常用字符串表示
background 调整当前界面背景
gravity 调整所有控件所在的整体位置
layout_width 当前界面整体宽度,常用wrap_content和match_parent
layout_height 当前界面整体高度,常用wrap_content和match_parent
padding 调整屏幕边距,可以整体调整或者单项调整
text 控件显示文本,可调用values文件夹中的strings.xml来显示文本内容
textColor 显示文本颜色,可调用values文件夹中的color.xml来定义
textSize 显示文本字体大小,单位常用dp和px
textStyle 显示文本字体风格,可选的有斜体和粗体

3.常见的三种简单XML布局

3.1 LinearLayout

这一种使用单个水平行或垂直行来组织子项的布局,是风格最简单的布局。

<LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView"
        android:layout_alignParentLeft="false"
        android:layout_alignParentStart="true"
        android:weightSum="1"
        android:id="@+id/linearLayout"
        android:layout_alignParentTop="false"
        android:layout_alignWithParentIfMissing="false"
        android:layout_alignParentRight="false"
        android:layout_alignParentBottom="false"
        android:background="#000000">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="One,One"
            android:id="@+id/textView2"
            android:textSize="16dp"
            android:gravity="center_horizontal"
            android:layout_weight="0.19"
            android:textColor="#ffffff" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="One,Two"
            android:id="@+id/textView3"
            android:textSize="16dp"
            android:layout_weight="0.34"
            android:gravity="center_horizontal"
            android:textColor="#ffffff" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="One,Three"
            android:id="@+id/textView4"
            android:layout_weight="0.27"
            android:textSize="16dp"
            android:gravity="center_horizontal"
            android:textColor="#ffffff" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="One,Four"
            android:id="@+id/textView5"
            android:textSize="16dp"
            android:gravity="center_horizontal"
            android:textColor="#ffffff" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/linearLayout"
        android:weightSum="1"
        android:id="@+id/linearLayout2"
        android:background="#000000">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="Two,One"
            android:id="@+id/textView6"
            android:textSize="16dp"
            android:layout_weight="0.13"
            android:gravity="center_horizontal"
            android:textColor="#ffffff" />

        <TextView
            android:
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42208273/article/details/80616740

智能推荐

Android 图片文件读取-程序员宅基地

文章浏览阅读2.7w次,点赞16次,收藏71次。介绍图片文件读取所涉及到的各项技术点

Android记录8--简单自定义Launcher实现-程序员宅基地

文章浏览阅读702次,点赞27次,收藏17次。Android学习PDF+架构视频+面试文档+源码笔记【Android开发核心知识点笔记】【Android思维脑图(技能树)】【Android核心高级技术PDF文档,BAT大厂面试真题解析】【Android高级架构视频学习资源】[外链图片转存中…(img-WXOAEI3r-1710828063701)]【Android思维脑图(技能树)】[外链图片转存中…(img-Txwu0xza-1710828063701)]【Android核心高级技术PDF文档,BAT大厂面试真题解析】

一个16进制的数占多少字节?(半个字节)_一个数字半个字节-程序员宅基地

文章浏览阅读3.6w次,点赞28次,收藏56次。1个字节是8位,二进制8位:xxxxxxxx 范围从00000000-11111111,表示0到255。一位16进制数(用二进制表示是xxxx)最多只表示到15(即对应16进制的F),要表示到255,就还需要第二位。所以1个字节=2个16进制字符,一个16进制位=0.5个字节。参考文章:一个16进制的数占多少字节?比如19..._一个数字半个字节

android搜狗输入法广告,Android 搜狗输入法 v8.12 去广告纯净版-程序员宅基地

文章浏览阅读695次。手机输入,依然搜狗!我选择,我喜欢!搜狗输入法手机版,搜狗拼音输入法安卓版是一款打字超准、词库超大、速度飞快、外观漂亮、用了让您爱不释手的输入法,是装机必备的好选择。享受输入,从搜狗开始!新版变化http://shouji.sogou.com/log.php2017.07.17 v8.121.1 键盘手写:遇到不会拼的字,直接在键盘手写。1.2 键盘画板:手绘图案直接发送,玩转趣味表达。1.3 中..._搜狗输入法v8.12 去广告

devops 自动构建_构建一个DevOps仪表板-程序员宅基地

文章浏览阅读213次。到目前为止,您已经学到了: DevOps和持续交付如何使发布过程扁平化 如何使用Chef或Puppet等工具在代码中描述基础架构 如何为基础架构和部署编写测试 如何使用Chaos Monkey之类的工具确保基础架构具有弹性 如何创建持续交付平台 如何对所有软件系统资产进行版本控制 而且由于DevOps的组织方面与技术方面同样重要,因此我还规定了打破传统开发和运营..._devops的board中的状态设置

shiro权限控制相关的注解_java 能禁用 authorizationattributesourceadvisor in or-程序员宅基地

文章浏览阅读375次。使用前请先开启Shiro的controller层注解,如果已经设置请下滑绕过要在spring-mvc.xml中写。<!--下面的用于开启shiro的权限注解--> <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"> <prop_java 能禁用 authorizationattributesourceadvisor in org.apache.shiro.spring.b

随便推点

Android/Java中的常用签名算法_android 支持的签名算法-程序员宅基地

文章浏览阅读6.2k次。Android/Java中常用的签名算法实现:(包括BASE64、MD5、SHA1、HMAC_SHA1、AES、RSA等)package com.helloWorld;import java.security.KeyFactory;import java.security.MessageDigest;import java.security.PrivateKey;import j_android 支持的签名算法

LNMP搭建(CentOS 6.3+Nginx 1.2.0+PHP 5.3.15(fpm)+ MySQL 5.5.35)-程序员宅基地

文章浏览阅读234次。Nginx(“engine x”) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过三年了。Igor 将源代码以类BSD许可证的形式发布。系统环境:# cat /etc/redhat-releaseCentOS ..._info - device 0 unit 0: sample buffer has 0 samples (0%)., slow or stopped c

msf生成payload并注入到可执行程序exe中_msf注入进程-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏13次。msfconsole下的generate与msfvomen命令实际是不同环境下的同一个命令,其功能基本相同,这里我们要学习的重点是使用-k -x 选项将payload注入到可以执行文件exe中,这项技能在实战中后渗透测试的可持久化中经常会被用到。_msf注入进程

HTML的布局_html 布局-程序员宅基地

文章浏览阅读920次。重中之重需求:Html默认采用文档流布局方式:浏览器会自上而下,从左到右依次显示标签元素,遇到块级元素则独占一行,行级元素同行共存。两个块级元素如何在同一行显示?办法1:使用display inline 或inline-block ----》打破默认的文档流布局方式。 问题: 办法2:使用浮动技术。float: none 默认的文档流 left左浮动 right右浮动原始素材<!DO..._html 布局

eclipse中jsp插入背景图片_eclipsejsp背景图片-程序员宅基地

文章浏览阅读1.9w次,点赞8次,收藏11次。在项目中不停尝试,变换路径,图片的地址,却一直插入不进可以变颜色,图片显示不出路径问题,把图片放在_eclipsejsp背景图片

CSS3如何调整背景图片大小_cssbackground图片大小设置-程序员宅基地

文章浏览阅读2.5w次,点赞21次,收藏83次。在CSS3中,如果想要调整背景图片的大小可以通过设置background-size属性进行设置。_cssbackground图片大小设置