Android中继承View的研究(一) -- 一个小Demo
2013-04-12 00:00
405 查看
序:总想写下点东西出来,但是总是没有时间,不是业务忙就是又有新的研究项目,最近有点时间,写点以前一直想写有一直没写的东西,供大家参考,但是终归是一家之言,仅供参考。本人的每次讲解都会提供源代码下载,并且会最近会一直更新还请大家多多关注,有不对的地方欢迎指教。好了,不说题外话了,咱们开始研究。
一、 概述
对于一个手机的用户体验来说最重要的部分莫过于界面了,为此
Android
中提供了通过
XML
布局的方式来进行布局,各种布局方式和控件的使用就不多说了,如果有不会的可以参考下这个
一个Demo让你掌握所有的控件
。对于布局来说,个人感觉只用
XML
布局会有一定的局限性。所以就有了通过继承
View
以及其他控件来实现的
Android
布局。
就像
HTML
中有的人喜欢用
css
布局,有的人喜欢用
table
布局,众说纷纭,各执一词,但是个人感觉两个结合起来使用比较好,呵呵,就像
Android
中开发用自定义
View
和使用
XML
一样,使用两种方式结合开发,不失是一个利器。
二、一个使用自定义View的Demo
MainActivity
import android.app.Activity;
import android.os.Bundle;
/**
* 使用自定义的View
* */
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new HelloView(this));// 使用自定义的View
}
}
HelloView
import android.content.Context;
import android.view.View;
public class HelloView extends View {
/**
* 这个是我们要在Activity中初始化用的
* */
public HelloView(Context context){
super(context);
}
}
运行一下:
这个是不是看起来没有效果啊,哈哈,其实这个是系统默认的界面,也就是
View
默认的界面
我们来让他改变一下
在
View
中写一个方法
/**
* 绘制View
* */
protected void onDraw(Canvas canvas){
canvas.drawColor(Color.BLUE);
}
运行试试看:
一、 概述
对于一个手机的用户体验来说最重要的部分莫过于界面了,为此
Android
中提供了通过
XML
布局的方式来进行布局,各种布局方式和控件的使用就不多说了,如果有不会的可以参考下这个
一个Demo让你掌握所有的控件
。对于布局来说,个人感觉只用
XML
布局会有一定的局限性。所以就有了通过继承
View
以及其他控件来实现的
Android
布局。
就像
HTML
中有的人喜欢用
css
布局,有的人喜欢用
table
布局,众说纷纭,各执一词,但是个人感觉两个结合起来使用比较好,呵呵,就像
Android
中开发用自定义
View
和使用
XML
一样,使用两种方式结合开发,不失是一个利器。
二、一个使用自定义View的Demo
MainActivity
import android.app.Activity;
import android.os.Bundle;
/**
* 使用自定义的View
* */
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new HelloView(this));// 使用自定义的View
}
}
HelloView
import android.content.Context;
import android.view.View;
public class HelloView extends View {
/**
* 这个是我们要在Activity中初始化用的
* */
public HelloView(Context context){
super(context);
}
}
运行一下:
这个是不是看起来没有效果啊,哈哈,其实这个是系统默认的界面,也就是
View
默认的界面
我们来让他改变一下
在
View
中写一个方法
/**
* 绘制View
* */
protected void onDraw(Canvas canvas){
canvas.drawColor(Color.BLUE);
}
运行试试看:
相关文章推荐
- Android中继承View的研究(一) -- 一个小Demo
- Android中继承View的研究(一) -- 一个小Demo
- 继承ViewGroup研究(1)--简介和一个小Demo
- 继承ViewGroup研究(1)--简介和一个小Demo
- 继承ViewGroup研究(1)--简介和一个小Demo
- 继承ViewGroup研究(1)--简介和一个小Demo
- 继承ViewGroup研究(1)--简介和一个小Demo
- Android自定义View研究(一) -- 一个小Demo
- Android继承ViewGroup研究(1)
- Android 继承ViewGroup研究(2)
- Android 继承ViewGroup研究(3)
- Android 自定义View(1) -- 一个小Demo
- 用Android Smart Image View做的一个网络图片浏览的Demo
- Android中继承View的研究(二) -- 绘图的基本知识
- Android 继承ViewGroup研究
- Android自定义控件继承ViewGrop实现一个GridView的显示效果
- Android中继承View的研究(二) -- 绘图的基本知识
- 教你实现一个具备展开折叠功能的TextView(个人感觉github上的内容不错!https://github.com/r17171709/android_demo)
- Android中继承View的研究(二) -- 绘图的基本知识
- android view类的settag gettag就是在类中加了一个类似id的字段?