控制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 ...
随机推荐
- angular4 httpclient拦截器
1.创建服务: InterceptorService.ts import { Injectable } from '@angular/core'; import { HttpEvent,HttpInt ...
- 移动端的<meta>标签
<head> <meta charset="UTF-8" /> <!-- 页面关键词 --> <meta name="keywo ...
- bugku 程序员本地网站
提示从本地访问,怎样让服务器认为你是从本地进行访问的: 使用burp抓包并在包中进行修改加入X-Forwarded-For: 127.0.0.1 X-Forwarded-For: 简称XFF头,它代表 ...
- SEER见证人操作指南
SEER的见证人设计 共识方式 在区块生产者的产生方式上,SEER采取了PoS的共识方式,用户通过智能合约抵押自己持有的SEER竞选主力见证人(区块生产者). 对于SEER区块链来说,制约区块链TPS ...
- selenium3与Python3实战 web自动化测试框架 ☝☝☝
selenium3与Python3实战 web自动化测试框架 selenium3与Python3实战 web自动化测试框架 学习 教程 一.环境搭建 1.selenium环境搭建 Client: py ...
- 6个Linux运维典型问题,看大牛的分析解决思路
问题1:文件系统破坏导致系统无法启动 Checking root filesystem /dev/sda6 contains a file system with errors, check forc ...
- 微信小程序与用户交互
微信小程序与用户交互 一.显示消息提示框 wx.showToast({属性名:属性值}) 自定义一个提示框,时间到了会自动关闭 wx.showToast({ title:"成功", ...
- 机器学习实战_KNN(一)
[是什么] KNN 即 k_近邻算法(k- nearest neighbor) ,就是寻找K个邻居作为该样本的特征,近朱者赤,近墨者黑,你的邻居是什么特征,那么就认为你也具备该特征:核心公式为: 数据 ...
- [网络流 24 题] luoguP4016 负载平衡问题
[返回网络流 24 题索引] 题目描述 有成环状的 nnn 堆纸牌,现将一张纸牌移动到其邻堆称为一次操作.求使得所有堆纸牌数相等的最少移动次数. Solution 4016\text{Solution ...
- shell传递参数(三)
$n:n代表一个数字,指执行脚本的第n个参数.特别地,$0指执行的文件名 [root@ipha-dev71- exercise_shell]# cat test.sh #!/bin/bash echo ...