闫建洋的博客

毋意、毋必、毋固、毋我

菜鸟进阶笔记|SurfaceView模板

SurfaceView与View的不同主要体现在一下几点 View主要适用于主动更新的情况下,而SurfaceView主要适用于被动更新,例如频繁的刷新。 View在主线程中对画面进行刷新,而SurfaceView通常会通过一个子线程来进行页面的刷新。 View在绘图时没有使用双缓冲机制,而S...

2018-05-03 16:17:08

阅读数:23

评论数:0

菜鸟进阶笔记|初探自定义View06|Canvas绘图技巧

举个栗子,我们要绘制如下效果图: 实现如下: public class ClockView extends View { public ClockView(Context context) { super(context); } public ...

2018-05-02 11:48:40

阅读数:20

评论数:0

菜鸟进阶笔记|初探自定义View|05|自定义ViewGroup

类似ScrollView的滑动,并附加黏性效果 自定义View中代码如下: public class MyScrollView extends ViewGroup { private static final String TAG = "MyScrollView&...

2018-04-17 15:19:22

阅读数:25

评论数:0

菜鸟进阶笔记|初探自定义View|04|重写View来实现全新的控件

当安卓系统无法满足我们的需求时,我们就可以完全创建一个新的自定义View来实现需要的功能。创建一个自定义View,难点在于绘制控件和实现交互,这也是评价一个自定义View优劣的标准之一。通常需要继承View类,并重写它的onDraw、onMeasure()等方法来实现绘制逻辑,同时通过重写onTo...

2018-04-12 10:13:20

阅读数:37

评论数:0

菜鸟进阶笔记|初探自定义View|03|创建复合控件

创建复合控件 创建复合空间可以很好的创建出具有重用功能的控件集合。这种方式通常需要继承一个合适的ViewGroup,再给它添加指定功能的控件,从而组合成新的复合空间。通过这种方式创建的控件,我们一般会给它指定一些可配置的属性,让它具有更强的拓展性。下面就以一个TopBar为示例,我们知道,为了程...

2018-04-11 16:58:44

阅读数:26

评论数:0

菜鸟进阶笔记|初探自定义View|02|对现有控件进行拓展

在View中通常有以下一些比较重要的回调方法: onFinishInflate():从XML加载组件后回调。 onSizeChanged():组件大小改变时回调。 onMeasure():回调该方法来确定显示的位置。 onLayout():回调该方法来确定显示的位置。 onTouchEvent...

2018-04-11 16:28:45

阅读数:20

评论数:0

菜鸟进阶笔记|初探自定义View|01|使用MeasureSpec控制自定义View大小

Android系统给我们提供了一个设计短小精悍却功能强大的类——MeasureSpec类,通过它来帮助我们测量View。MeasureSpec是一个32位的int值,其中高2位位测量的模式,低30位为测量的大小,在计算中使用位运算的原因是为了提高并优化效率。——Android群英传 新建MyVi...

2018-04-11 10:06:32

阅读数:40

评论数:0

菜鸟进阶笔记|SQLite|01|SQLite二次封装

经过了一天的时间,不断的修改,终于跑通它啦,写到这里记下来供自已以后使用~ 1.首先新建 一个Bean: public class ExamInfo { public static int id; public static String name; public ...

2017-05-11 14:38:46

阅读数:109

评论数:0

菜鸟进阶笔记|实现时分秒的倒计时效果

activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=&...

2016-11-01 14:48:30

阅读数:819

评论数:0

菜鸟进阶笔记|获取当前移动设备分辨率及DPI

DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metric); int width = metric.widthPixels; // 屏幕宽度(像素)...

2016-10-27 15:09:06

阅读数:1292

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭