Android 界面编程
来源:互联网 发布:手机淘宝网店 编辑:程序博客网 时间:2024/06/07 16:09
前言
Android提供了大量的丰富功能的UI组件,我们只需要像搭乐高积木那样,就可以组件出图形界面,当然如果是一些特殊的效果就需要我们自定义去实现了,关于自定义控件,以后再做介绍
View组件
Android应用绝大部分UI组件都放在了 android.widget 包以及子包、android.view包以及子包,Android中所有的UI组件都继承了View类,类似 Swing中的 JPanel代表一个空白的矩形矩形区域,我们在界面开发中如果要实现一条分割线的效果,如果没有图片直接可以使用View 的高度或是宽度为1dp来实现View还有个重要的子类 ViewGroup,ViewGroup作为其他组件的容器来使用,Android中我们用到的组件都是建立在 View、ViewGroup基础之上的。Android采用 组合器 的设计模式来设计View 和 ViewGroup ,ViewGroup 作为一个容器来保存其他组件,当然还可以包含普通的 View组件和 ViewGroup组件,也就相当于一个容器Android推荐使用XML的布局文件来定义用户界面,而不是使用Java代码,当然也不是不可以,因此所有的组件都是提供了2中控制组件的行为,我们不管使用哪种方式,实质还是一样的,类似 Servlet 和 JSP* 在XML布局中通过XML属性来控制* 在Java代码中通过调用方法来进行控制View作为UI组件的基类,它包含的属性和方法也是所有组件类都可以使用,有关View类常见的XML属性和方法,可以参考[开发文档](https://developer.android.google.cn/reference/android/view/View.html)里面有很详细的介绍
使用XML布局文件控制UI界面
Android推荐使用XML的布局文件来控制试图,这样不仅简单,而且可以将试图控制逻辑从Java代码中分离出来,从而更好体现MVC设计原则,
- 在代码中控制UI界面
我们也可以直接在Java代码中控制UI界面,所有的控件通过 new 关键字来创建例如:
public class T01Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 布局 LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); // 创建的UI组件 TextView tv = new TextView(this); Button btn = new Button(this); // 设置组件属性 tv.setText("Hello Android); btn.setText("Click me"); // 添加UI组件到布局 layout.addView(tv); layout.addView(btn); }}
完全在代码中控制UI界面不仅不利于高层次的解构,而且还需要通过 new 关键字来创建UI,需要调用方法来设置,代码也会很臃肿,相反如果通过XML 来控制UI组件,我们只需要简单的属性配置就可以控制UI行为,要简单很多
0 0
- android基本界面编程
- Android界面编程
- Android应用界面编程
- Android 界面编程
- android应用界面编程
- Android 界面编程
- android,activity界面编程总结
- Android应用的界面编程
- android应用的界面编程
- Android应用的界面编程
- Android应用的界面编程
- 【Android应用界面编程】-----ExpendableListView
- android浅学之界面编程
- Android应用的界面编程
- Android应用的界面编程
- Android应用的界面编程
- Android应用的界面编程
- Android界面编程之BaseAdapter
- SQLServer中char、varchar、nchar、nvarchar的区别:
- 使用wxParse插件直接解析从后台获取的html
- day05--数据类型
- Java Socket第一个通讯程序的具体实现及常见问题的分析
- vim,shiftwidth,tabstop,softtapstop
- Android 界面编程
- (Linux)系统管理
- Hexo-Theme-Buer主题修改介绍
- ISO/IEC 13818 -1 ~ -7之间的区别
- Mariadb使用入门
- vim 退格键(backspace)不能用
- Elasticsearch 5.x (二) 集群模式
- Ubuntu下修改系统的默认启动级别
- 在keil4中将FreeRTOS V8.2.3移植到STM32F103RCT6 cortex-M3平台上