做为Android 初学者,不管是您从事的是混合移动开发还是原生开发,我认为,学习一下Android UI是非常有必要的。Android stuido 的强大特性可以使用布局编辑器来进行开发界面,以了解各个布局及微件之间的层次关系,今天就来使用 布局编辑器练练手吧。

Android UI 初步了解

在编写之前需要简单了解下什么是布局,什么是微件,以及Android ui 的构成。

Android 应用的界面 (UI) 以布局和微件的层次结构形式构建而成。布局是 ViewGroup 对象,即控制其子视图在屏幕上的放置方式的容器。微件是 View 对象,即按钮和文本框等界面组件。如下图布局和微件之间的关系:

查看源码:ViewGroup

查看源码:View

布局编辑器使用

打开布局编辑器


操作完上述步骤,您的布局编辑器现在下图所示。

添加文本框

添加按钮

更改界面字符串



此时布局文件的xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"><EditTextandroid:id="@+id/editTextTextPersonName"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="16dp"android:layout_marginTop="16dp"android:ems="10"android:hint="@string/edit_message"android:inputType="textPersonName"android:minHeight="48dp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"android:autofillHints="" /><Buttonandroid:id="@+id/button2"android:layout_width="95dp"android:layout_height="48dp"android:layout_marginStart="16dp"android:text="@string/button_send"app:layout_constraintBaseline_toBaselineOf="@+id/editTextTextPersonName"app:layout_constraintStart_toEndOf="@+id/editTextTextPersonName" />
</androidx.constraintlayout.widget.ConstraintLayout>

让文本框大小可灵活调整



最终的xml如下:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"><EditTextandroid:id="@+id/editTextTextPersonName"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_marginStart="16dp"android:layout_marginTop="16dp"android:autofillHints=""android:ems="10"android:hint="@string/edit_message"android:inputType="textPersonName"android:minHeight="48dp"app:layout_constraintEnd_toStartOf="@+id/button2"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><Buttonandroid:id="@+id/button2"android:layout_width="95dp"android:layout_height="48dp"android:layout_marginStart="16dp"android:layout_marginEnd="16dp"android:text="@string/button_send"app:layout_constraintBaseline_toBaselineOf="@+id/editTextTextPersonName"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/editTextTextPersonName" />
</androidx.constraintlayout.widget.ConstraintLayout>

运行应用如下:

总结

文章的目的

为了让出学者了解Android开发UI的构成,初步了解什么是布局、什么是微件,以及如何使用编辑器编写一个布局和简单的界面,初步了解布局和微件之间的层次关系。

1、Android开发-使用Android Studio 布局编辑器编写一个小例子相关推荐

  1. android开发 RecyclerView 瀑布列表布局

    android开发 RecyclerView 瀑布列表布局 1.写一个内容的自定义小布局: <?xml version="1.0" encoding="utf-8& ...

  2. 【Android开发】Android Studio中进行简单的WebView构建浏览器开发1

    [Android开发]Android Studio中进行简单的WebView构建浏览器开发 第一步:新建一个Android Project 第二步:修改AndroidMainfest.xml文件 第三 ...

  3. android简单实现表格布局,Android开发中TableLayout表格布局

    Android开发中TableLayout表格布局 一.引言 在移动端应用程序开发中,常常会使用到表格布局,iOS和Android开发框架中都提供了独立的表格视图控件供开发者使用,例如iOS中的UIT ...

  4. Android开发-HUAWEI DevEco Studio工具

    Android开发-HUAWEI DevEco Studio工具 前言 相同 不同 缺点 下载 结语 前言 我们进行Android开发的工具通常有Eclipse.IDEA和Android studio ...

  5. 【Android开发】Android Studio中进行简单的WebView构建浏览器开发2

    [[Android开发]Android Studio中进行简单的WebView构建浏览器开发2 第1步:在上一篇博客的基础上,修改activity_main.xml 第2步:在MainActivity ...

  6. android 继承relativelayout,Android开发中RelativeLayout相对布局

    Android开发中RelativeLayout相对布局 RelativeLayout布局是Android界面布局中应用最广也最强大的一种布局,其不只十分灵活,能够解决开发中各类界面布局需求,同时也很 ...

  7. 【Android开发】Android入门安装与使用教程——以Android Studio3.6.1为例

    [Android开发]Android入门教程--以Android Studio3.6.1为例 1.为什么要学习Android 2.学习资源 3.安装Android Studio 3.1 下载安装包 3 ...

  8. 写给Android开发的Android简史

    写给Android开发的Android简史

  9. <Android开发> Android vold - 第三篇 vold 的NetLinkManager类简介

    本系列主要介绍 Android vold,分为以下篇章 <Android开发> Android vold - 第一篇 vold前言简介 <Android开发> Android ...

最新文章

  1. 各种远程通信协议比较RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等
  2. python和c先学哪个对于初中生来说-初中生想学编程,请问先学C语言好还是先学Python?...
  3. 【hdu5285】wyh2000 and pupil
  4. RSS、RSSI以及dBm相关概念
  5. java开发常见异常_最常见的Java异常及其对Java开发人员的评价
  6. MongoDB系列二
  7. React之类式组件
  8. 火狐浏览器工具栏/折叠菜单怎么设置?火狐浏览器工具栏/折叠菜单定制教程
  9. C++官方文档-this
  10. Oracle性能调优
  11. 可替代Visio的免费流程图软件draw.io(含下载地址)
  12. 关闭windows自动更新小妙招
  13. 16 Three.js 游戏操作案例
  14. 诚之和:百世离场快递恶战“结束的开始”
  15. 安卓实例04-3:通过Intent使讯飞与tasker通讯作为语音助手
  16. 为表的添加中文属性时出现的Incorrect string value: '\xE7\x9A\x84\xE6\xB1\xEA...
  17. 固液分离机市场现状及未来发展趋势
  18. 租车APP开发的市场优势和主要功能
  19. 支付宝是用计算机编程做的吗,从支付宝晒账单活动我们能学习哪些营销方法
  20. 计算机简历封面制作教程,计算机应用 个人简历封面制作 制作个人简历封面教案.doc...

热门文章

  1. 格莱美上的社交大战:Instagram们都有哪些亮点?
  2. c语言结构体成员变量默认值,C语言结构体要点笔记
  3. 【M365运维】部分Win10设备在MDE管理中心里找不到
  4. 阿里旺铺装修的主要区域在哪里
  5. 西门子PN协议分布式IO模块
  6. Python(phone)模块获取手机号归属地、区号、运营商等
  7. 全部A股2010-2018年年报数据明细
  8. Python自动化小技巧13——批量下载北交所上市公司年报
  9. JEDEC Standard No. 79-3F 翻译
  10. Python爬虫爬取虎牙数据!谁才是虎牙第一主播!