![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
读书笔记
文章平均质量分 55
jiaway
这个作者很懒,什么都没留下…
展开
-
获取坐标的getTop getLeft getX getRawX系列方法
View提供的获取坐标方法 getTop getLeft getRight getBottom 都是相对于父View MotionEvent提供的方法 getX getY(想对于View) getRawX getRawY(相对于屏幕)原创 2016-11-03 00:26:47 · 582 阅读 · 0 评论 -
倒影view和surfaceView的示例用法
倒影View 原理: Matrix matrix = new Matrix(); matrix.setScale(1F, -1F);public class ReflectView extends View { private Bitmap mSrcBitmap, mRefBitmap; private Paint mPaint; private Port原创 2016-11-10 00:07:36 · 357 阅读 · 0 评论 -
android群英传笔记--第四章--ListView使用技巧(一)
设置项目间分割线android:divider="android:color/darker_gray"android:dividerHeight="10dp"android:divider="@null"隐藏ListView的滚动条android:scrollbars="none"取消ListView的Item点击效果android:listSelector="#00000000"androi原创 2016-11-01 23:43:12 · 452 阅读 · 0 评论 -
android群英传笔记--第四章--ListView使用技巧(二)
自动显示、隐藏布局的ListView向下时,toolBar就做动画出来,向上时就做动画隐藏public class ScrollHideListView extends Activity { private Toolbar mToolbar; private ListView mListView; private String[] mStr = new String[20];原创 2016-11-02 00:06:36 · 337 阅读 · 0 评论 -
android动画基础(一) View动画和属性动画
view动画1.透明度动画//float fromAlpha, float toAlphaAlphaAnimation aa = new AlphaAnimation(0, 1); aa.setDuration(1000); view.startAnimation(aa);2.旋转动画//float fromDegrees, float toDegrees, flo原创 2016-11-13 22:29:30 · 445 阅读 · 0 评论 -
获取View宽高的几种方式及View和ViewGroup测量的简单实现
自己指定测量规则//这里自己指定宽wrap_content高100,view = (Button) findViewById(R.id.button1);int widthMeasureSpec = MeasureSpec.makeMeasureSpec((1 << 30) - 1, MeasureSpec.AT_MOST);int heightMeasureSpec = MeasureSpe原创 2016-12-13 23:50:33 · 3270 阅读 · 0 评论 -
android开发艺术探索第三章 移动到指定位置和内外两种情况拦截分析
移动到指定位置的动画ObjectAnimator.ofFloat(mButton1,"translationX",0,100).setDuration(1000).start();final int startX = 0; final int deltaX = 100; ValueAnimator animator = ValueAnimator.o原创 2016-12-06 22:48:18 · 513 阅读 · 0 评论 -
gradle入门
gradle深入了解 中文手册自定义目录结构//兼容eclipsesourceSets{ main{ java.srcDirs=['src'] res.srcDirs=['res'] assets.srcDirs=['assets'] jni.srcDirs=['jni'] jniLibs.srcDirs=原创 2016-12-20 22:39:03 · 533 阅读 · 0 评论 -
chapter-7 Activity切换动画 Button放大动画 Layoutanimation动画
1 Activity切换动画 Intent intent = new Intent(this, TestActivity.class);startActivity(intent);overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim);R.anim.enter_animxml version原创 2016-12-18 23:41:50 · 693 阅读 · 0 评论 -
android像素级图形效果
1 像素点分析各种老照片 底片等效果 底层原理如这个方法。通过某种算法改变每个像素的值。核心方法为 bm.getPixels(oldPx, 0, width, 0, 0, width, height); 讲所有的颜色信息保存在数组oldPx中public static Bitmap handleImageNegative(Bitmap bm) { int width = bm.get原创 2016-11-09 23:45:04 · 542 阅读 · 0 评论 -
android 中的色彩矩阵和图像分析
a-b-c-d-e —-代表R—-红色 f-g-h-i-j—–代表G—-绿色 k-l-m-n-o—–代表B—-蓝色 p-q-r-s-t —–代表A—-透明 上边的最后一个字母,即ejot代表每个分量的offset,即偏移量。调整上边的参数实在太麻烦,我们平时常用的仅3个值,色调,饱和度,亮度,so 系统有ColorMatrix 类来控制。//色调 第二个参数为需要处理的参数ColorMat原创 2016-11-09 00:10:52 · 483 阅读 · 0 评论 -
android群英传笔记--第三章--自定义控件一跑马灯光扫过字体
源码githubShineTextView 从左跑到右。实现思路:postInvalidateDelayed(100) 不停地重绘即可 实现思路; api如下 - onSizeChanged - onDraw - LinearGradient - postInvalidateDelayed(100); - Matrix protected void onSizeChanged(i原创 2016-10-19 23:56:32 · 468 阅读 · 0 评论 -
android群英传笔记--第三章--自定义控件二topView的简单封装
topView- 自定义属性的使用- 组合控件 -暴露接口-xml中使用自定义属性<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="TopBar"> <attr name="title" format="string" /> <attr name=原创 2016-10-24 22:11:12 · 443 阅读 · 0 评论 -
android群英传笔记--第三章--自定义控件三简单形状View
onMeasure OnDraw 最简单的使用教程 @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { mMeasureWidth = MeasureSpec.getSize(widthMeasureSpec原创 2016-10-24 23:03:46 · 317 阅读 · 0 评论 -
android View 跟随手指移动的7种方式
###View 跟随手指移动的7种方式. layout方法底层还是1 系统封装好的偏移方法。MarginlayoutParams LayoutParams 的leftMargin topmarginscrollTo scrollByScroller属性动画(后边详细讲)support包中的ViewDragHelper1.layout方法2.offsetLeftAndRight(off原创 2016-11-04 00:04:41 · 11045 阅读 · 0 评论 -
android 绘图基础 内含各种基本api
canvas.drawPoint(x,y,paint);//绘制点canvas.drawLine(startX,startY,endX,endY);//绘制直线float[] pts={ startX1,startY1,endX1,endY1 ....... startXn.startYn.endXn.endYn}canvas,drawLines(pts,paint)原创 2016-11-06 22:37:09 · 606 阅读 · 1 评论 -
android群英传笔记--第三章--自定义控件四音频条形图
实现思路: 在onDraw 方法的for 循环中以依次出这些矩形,美观期间,给画笔增加一个渐变效果。在onSizeChanged 方法中拿到尺寸@Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh);原创 2016-10-26 23:01:02 · 751 阅读 · 0 评论 -
android群英传笔记--第三章--自定义控件五粘性上下滑动scrollview
这次自定义的是ViewGroup 因此需要在onMeasure onLayout方法中为孩子测量大小 和指定位置。测量每个孩子@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure原创 2016-10-27 23:28:58 · 808 阅读 · 0 评论 -
android 中的layer图层
canvas.saveLayer()、saveLayerAlpha()讲一个图层入栈,我的理解是新建一个图层和一个有alpha的图层。restore、restoreToCount()方法将一个图层出栈,合并图层的意思。public class MainActivity extends Activity { @Override protected void onCreate(Bundle原创 2016-11-08 23:05:54 · 1380 阅读 · 0 评论 -
从Okhttp的建造者模式开始讲
建造者模式定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。比如:Model 负责表示数据(OkHttpClient)Builder负责构建Director负责管理构建(如果更复杂,有这个需求的话)e.g:android中的使用 以okhttp源码为例OkHttpClient.javaclass OkHttpClient {......public O原创 2017-05-23 23:22:35 · 1379 阅读 · 0 评论