控制UI界面
在android中,一共有四种方式。
第一种:使用XML布局文件控制UI界面
关键步骤有2个:
1.在Android应用的res/layout目录下编写,创建一个项目,eclipse会自动生成一个xml文件。同时在gen/目录中会自动生成R.javaw。
2.在Activity中使用以下代码:
setContentView(R.layout.activity_main);
第二种:使用Java代码来控制UI界面。
关键步骤如下:
1.创建布局管理器,可以是帧布局,表格布局,线性布局,相对布局,并设置布局管理器的属性。
例如:在OnCreate()方法中创建一个帧布局管理器
FrameLayout framelayout=new FrameLayout(this);
setContentView(framelayout);
2.创建具体的组件,例如 TextView,ImageView等。
TextView txt1=new TextView(this);
txt1.setText("在代码中控制UI界面");//...设置相应的属性....
3.添加组件到布局管理器中。
framelayout.addView(txt1);
第三种:使用XML和Java代码混合控制UI界面
习惯上把变化小,行为控制较固定的组件放在XML布局文件中,把变化多,行为比较复杂的组件放在java代码中。
第四种:开发自定义View
在android中,所有的UI界面都是有View类和ViewGroup类及其子类组合而成的,其中View类是所有UI组件的基类,而ViewGroup类是容器
第一层 ViewGroup
第二层 ViewGroup View View
第三层 View View
自定义的View组件大致分3个步骤:
1.创建一个android.view.View类的View类,并且重写构造方法。
public class MyView extends View {
public MyView(Context context) { super(context); // TODO Auto-generated constructor stub }
}
2.根据需要重写相应的方法。
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
}
3.在项目活动中,创建并实例化自定义View类,并将其添加到布局管理器中。
MyView myview=new MyView(this);
FrameLayout fl=new FrameLayout(this);
fl.addView(myview);
控制UI界面的更多相关文章
- Android——控制UI界面
一.使用XML布局文件控制UI界面 res\layout\activity_main.xml代码如下: <FrameLayout xmlns:android="http://schem ...
- 使用XML布局文件和Java代码混合控制UI界面
完全使用Java代码来控制UI界面不仅烦琐.而且不利于解耦:而完全利用XML布局文件来控制UI界面虽然方便.便捷,但难免有失灵活.因此有些时候,可能需要混合使用XML布局文件和代码来控制UI界面. 当 ...
- 在代码中控制UI界面
虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全抛弃XML布局文件,完全在Java代码中控制UI界面. 实例:用编程的方式开发UI界面 packa ...
- Android控制UI界面
⒈使用XML布局文件控制UI界面[推荐] Android推荐使用XML布局文件来控制视图,这样不仅简单.明了,而且可以将应用的视图控制逻辑从Java或Kotlin代码中分离出来,放入XML文件中控制, ...
- 家庭记账本app进度之ui相关概念控制ui界面与布局管理
ui就是用户界面设计的意思. 首先是view,view相当于窗户上的玻璃. 1.android:id属性.android:id="@+id/user".他的id是user前面的@+ ...
- 使用XML文件和Java代码控制UI界面
Android推荐使用XML文件设置UI界面,然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller,是模型(model)-视图(view)-控制 ...
- Android学习笔记(9):使用XML文件和Java代码控制UI界面
Android推荐使用XML文件设置UI界面.然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller.是模型(model)-视图(view)-控制 ...
- WASD控制UI界面血条加减
using UnityEngine; using System.Collections; using UnityEngine.UI; public class HealthController : M ...
- 使用xml和java代码混合控制UI界面
main.xml.................... <?xml version="1.0" encoding="utf-8"?> <Li ...
随机推荐
- 视图向控制器传参@RequestMapping()和@RequestParam()
@RequestMapping()和@RequestParam()注解在spring-web-4.3.18.RELEASE.jar包下,当然可以是其他版本,所在包名如下: @RequestMappin ...
- java接口的演变(jdk8的default、静态方法,jdk9的私有方法、私有静态方法)
目录: 接口的定义 jdk7-9,接口属性的变化 jdk8,default.public static method的提出解决了什么问题,使用时需要注意什么 jdk9的补充(引入private met ...
- MySQL逻辑架构、SQL加载执行顺序、七种JOIN模式图解
逻辑架构 存储引擎 查看当前安装的mysql提供的存储引擎 查看当前mysql默认的存储引擎 MyISAM和InnoDB SQL加载执行顺序 sql书写顺序 mysql解析器执行的顺序 考点:m ...
- 渗透-svn源代码泄露漏洞综合利用
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subversion ...
- [BZOJ4990][Usaco2017 Feb]Why Did the Cow Cross the Road II
Description Farmer John is continuing to ponder the issue of cows crossing the road through his farm ...
- [Luogu4447] [AHOI2018初中组]分组
题目描述 小可可的学校信息组总共有n 个队员,每个人都有一个实力值a[i]a[i]a[i].现在,一年一度的编程大赛就要到了,小可可的学校获得了若干个参赛名额,教练决定把学校信息组的nnn 个队员分成 ...
- 【websocket】spring boot 集成 websocket 的四种方式
集成 websocket 的四种方案 1. 原生注解 pom.xml <dependency> <groupId>org.springframework.boot</gr ...
- (21)ASP.NET Core EF创建模型(关系)
1.关系 关系定义两个实体之间的关系.在关系型数据库中,这由外键约束表示. 2.术语定义 有许多术语用于描述关系:●相关实体:这是包含外键属性的实体.有时称为关系的"子级".●主体 ...
- hadoop2.x的安装
可以自己从官网编译打包也可以直接下载官网的.gz包.自己编译打包的过程如下: .查看是否安装cmake.svn.openssl.ncurses,没有的直接安装上 yum list|grep cmake ...
- LIGHTX-CMS —— 基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客系统
概述 LIGHTX-CMS 是我基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客发布系统. 项目本身可以拿来部署个人博客网站,同时我认为其也适合用以新手学习 Node ...