控制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 ...
随机推荐
- 深入理解Netty框架
前言 本文讨论的主题是Netty框架,本着3W原则 (What 是什么?->Why 为什么?->How 如何做?)来一步步探究Netty原理和本质以及运用场景. 了解基本名词 1.BIO. ...
- 不依赖远程API启动SEER区块链命令行钱包和网页钱包的方法
不依赖远程API启动命令行钱包和网页钱包的方法 在SEER的见证人操作等需要使用命令行钱包的操作中,我们介绍了通过钱包连接远程API来和区块链交互的方法.类似这样: cli_wallet.exe -s ...
- 安装高可用Hadoop生态 (四) 安装Spark
4. 安装Spark 4.1. 准备目录 -bin-without-hadoop.tgz -C /opt/cloud/packages/ -bin-without-hadoop /opt/clo ...
- Unreal Engine 4 系列教程 Part 4:UI教程
.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...
- Jmeter结构体系及运行顺序
一:jmeter运行原理: jmeter时以线程的方式来运行的(由于jmeter是java开发的所以是运行在JVM虚拟机上的,java也是支持多线程的) 二:jmeter结构体系 1.取样器smapl ...
- Lombok中关于@Data的使用
当你在使用 Lombok 的 @Data 注解时,其实会有一些坑需要关注,今天就让我们来见识一下. Lombok 先来简单介绍一下 Lombok ,其官方介绍如下: Project Lombok ma ...
- Redis Getshell总结
Redis默认端口是6379,可以通过zoomeye或者shodan来查找开放6379的端口,能收到很多对外开放6379端口的ip,而且绝大部门是未授权访问的,因为默认redis是未授权访问.但是还有 ...
- CVE-2016-7124漏洞复现
CVE-2016-7124漏洞复现 __wakeup()魔术方法绕过 实验环境 操作机:Windows 10 服务器:apache 2.4 数据库:mysql 5.0 PHP版本:5.5 漏洞影响版本 ...
- opencv::SURF特征
SURF特征基本介绍 SURF(Speeded Up Robust Features)特征关键特性: -特征检测 -尺度空间 -选择不变性 -特征向量 工作原理 . 选择图像中POI(Points o ...
- 第三方软件 G6ftp提权
步骤 1.下载配置文件 将administrator 2.利用lcx 端口转发 默认只允许本机连接 3.lcx.exe -tran 8027 127.0.0.1 8021 4.使用客户端以管理员用户登 ...