自定义控件
Mars-xq
好记性不如烂笔头。
展开
-
带文字的seekbar : 自定义progressDrawable/thumb :解决显示不全
带文字的seekbar原创 2022-06-17 10:39:46 · 1384 阅读 · 0 评论 -
Android使用ItemTouchHelper实现RecyclerView的item拖动位置交换和侧滑删除
activity_main5.xml:item_rv.xml :原创 2022-06-10 11:16:29 · 585 阅读 · 0 评论 -
自定义view-填充布局
布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:id="@+id/container"andro原创 2019-01-30 13:41:19 · 607 阅读 · 0 评论 -
setStrokeWidth对自定义view的影响
自定义view:public class MyView extends View { private static final int DEFAULT_WIDTH = 100; private static final int DEFAULT_HEIGHT = 100; private Paint rectPaint; private Rect rect; ...原创 2018-06-15 15:31:34 · 899 阅读 · 0 评论 -
android手机屏幕分辨率尺寸
android获取设备屏幕大小的方法// 通过WindowManager获取DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);System.out.println("heigth : " + dm.heightPixels);System.out.pri原创 2017-02-13 18:11:36 · 446 阅读 · 0 评论 -
Android-LayoutInflater.inflate
获得 LayoutInflater 实例的三种方式//获得 LayoutInflater 实例的三种方式://三种方式本质是相同的,最终本质是都是调用的Context.getSystemService()。 LayoutInflater inflater1 = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFL原创 2017-05-09 16:24:56 · 260 阅读 · 0 评论 -
Matrix的set,pre,post调用顺序
参考:Matrix的set,pre,post调用顺序Matrix主要用于对平面进行平移(Translate),缩放(Scale),旋转(Rotate)以及斜切(Skew)操作。 为简化矩阵变换,Android封装了一系列方法来进行矩阵变换;其中包括: set系列方法:setTranslate,setScale,setRotate,setSkew;设置,会覆盖之前的参数。 pre系列方法:pre原创 2017-08-17 11:59:25 · 564 阅读 · 0 评论 -
android - 3D旋转
参考: camera、Matrix概念 Matrix的set,pre,post调用顺序常用的API如下: rotateX(float degree) 绕着x轴旋转degree个度数 rotateY(float degree) 绕着y轴旋转degree个度数 rotateZ(float degree) 绕着z轴旋转degree个度数 translat原创 2017-08-18 18:35:42 · 927 阅读 · 0 评论 -
camera、Matrix概念
cameracamera的坐标系是左手坐标系。伸出左手,让拇指和食指成L形,大拇指向右,食指向上,中指指向前方,这样我们就建立了一个左手坐标系,拇指,食指,中指的指向分别代表了x,y,z轴的正方向。如下图所示:Camera的坐标系是左手坐标系。当手机平整的放在桌面上,X轴是手机的水平方向,Y轴是手机的竖直方向,Z轴是垂直于手机向里的那个方向。下面是一些细节点: 1,camera位于坐标点(0,0)原创 2017-08-17 14:41:48 · 1447 阅读 · 0 评论 -
android 携程买票的起始点交换位置实现
效果图:点击交换位置按钮,北京和深圳布局交换位置。xml布局文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent...原创 2018-06-07 09:24:04 · 927 阅读 · 0 评论 -
自定义view--进度
效果图:自定义view:import android.animation.FloatEvaluator;import android.animation.ValueAnimator;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import...原创 2018-06-06 16:16:10 · 164 阅读 · 0 评论 -
onMeasure与onSizeChanged获取尺寸区别
自定义view如下:public class MyView extends View { private static final int DEFAULT_WIDTH = 100; private static final int DEFAULT_HEIGHT = 100; private Paint paint; private Rect rect; ...原创 2018-06-06 11:09:19 · 3262 阅读 · 0 评论 -
GridView设置分割线与dispatchDraw
自定义GridView :在dispatchDraw中绘制分割线。public class MyDividerGridView extends GridView { private Paint paint; public MyDividerGridView(Context context) { super(context); init...原创 2018-04-27 09:36:53 · 1532 阅读 · 0 评论 -
Android-GIF图片显示
摘自博客: 在Android中显示GIF动画在这里主要用的是:android中的android.graphics.Movie 这个类,这是android提供给我们的一个非常方便的工具。Movie其实管理着GIF动画中的多个帧,只需要通过 setTime() 一下就可以让它在draw()的时候绘出相应的那帧图像。通过当前时间与duration之间的换算关系,是很容易实现GIF动起来的效果。1、自定义v原创 2017-07-05 10:59:43 · 456 阅读 · 0 评论 -
Android-水平滑动容器HorizontalScrollView
摘自: Android 自定义 HorizontalScrollView 打造再多图片(控件)也不怕 OOM 的横向滑动效果自定义view:思想: 1、首先根据屏幕的大小和Item的大小,计算可以一个屏幕最多可以加载多少个Item,然后加载该数量Item。 2、当用户右滑(从右向左),滑动到一定距离时,加载下一张,删除第一张 3、当用户左滑(从左向右),滑动到一定距离时,加载上一张,删除最后一原创 2017-07-05 11:47:58 · 1667 阅读 · 0 评论 -
Android-垂直上下滚动的TextView
来自:https://github.com/paradoxie/AutoVerticalTextview 参考博客:Android-实现上下滚动的textview相关类的继承关系:public class View implements Drawable.Callback, KeyEvent.Callback, AccessibilityEventSource {...}publ原创 2017-07-05 10:49:43 · 7120 阅读 · 0 评论