
android
文章平均质量分 50
doctorzhong
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
自定义时钟View
public class ClockView extends View { Paint paint; int circleRadius; public ClockView(Context context) { super(context); initview(); } public ClockView(Context context, @Nullable AttributeSet attrs) { super...原创 2021-11-30 17:21:10 · 239 阅读 · 0 评论 -
自定义波浪进度View
public class WaveView extends View { Paint paint; int circleRadius; int cirX,cirY; int padding=30; float progress=0.7f;//进度 int startX=0; int waveWidth=0;//波浪宽度 int curWaveHeight=50;//波浪高度 public WaveView(Conte...原创 2021-11-30 17:19:03 · 155 阅读 · 0 评论 -
edittext取消,获得软件盘的设置
通常情况下,含有edittext的Activity一展现时都会获得焦点,触发软件盘,如果软件盘不出来,可在配置文件对应的Activity里放下面设置 android:windowSoftInputMode="stateVisible"如果不想一开始就获得焦点和展现软键盘可以在Edittext的跟布局设置以下属性android:fo原创 2016-11-07 17:36:13 · 255 阅读 · 0 评论 -
自定义控件文字居中
绘制文字的x,y坐标是baseline左端点的坐标,原来一直理解为了文字的左上角,今天亲测才发现,文字的x坐标号计算:(控件宽度-文字宽度)/2文字的y坐标计算:控件高度/2+距离baseline的那段距离(-(decent+ascent)/2)android绘制文字时以baseline为y轴0坐标线,向上为负,向下为正,所以文字的一半正好是(decent+asecnt)/2,文字原创 2016-11-08 10:17:19 · 1473 阅读 · 0 评论 -
listView的item中含有checkbox的一些问题及解决办法
问题1 因为checkbox的点击事件优先级高于listview的item点击事件所以,checkbox点击后,item的事件将不能触发。、 解决方法: 要想checkbox和item的事件都能触发,只需要在item的跟布局中添加android:descendantFocusability="blocksDescendants"问题2原创 2016-11-07 09:56:45 · 977 阅读 · 0 评论 -
获取ImageView中图片的坐标
Matrix matrix = getImageMatrix();RectF rectF = new RectF();Drawable drawable = getDrawable();if (drawable != null) { rectF.set(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight原创 2016-11-11 14:54:55 · 5346 阅读 · 0 评论 -
读取手机联系人
Cursor cursor=context.getContentResolver().query(Phone.CONTENT_URI,null,null,null,null); cursor.moveToFirst(); while(!cursor.isAfterLast()){ int nameIndex=cursor.getCo原创 2016-11-07 17:32:52 · 260 阅读 · 0 评论 -
Fragment懒加载机制
把Fragment放到Viewpager的时候,由于FragmentPagerAdapter缓存的原因,它会创建当前的Fragment和当前旁边两个的fragment。看下图 当我一进入这个页面的时候,当前页是“”全部“Fragment,左边没有,右边有一个“简餐便当”Fragment,它也会加载出来07-21 16:24:27.945 23014-23014/? V/mytextframent全原创 2017-07-21 17:09:04 · 487 阅读 · 0 评论 -
彻底解决监听Scrollview滑动暂停问题
项目中有个功能要监听Scrollview的滑动暂停状态,百度了一下,都是通过handler机制来比较getScrollY()值来实现,这种方式还是有bug的,在滑动中停止为撒手状态下,或者在底部,头部的时候有监听不到的情况。后来我就想着Scrollview内部有没有滑动停止的标志呢。阅读Scrollview源码之后发现还真有!!!这个滑动事件肯定和onTouchEvent(MotionEvent e原创 2017-11-21 09:33:31 · 3428 阅读 · 0 评论 -
android 图表控件的实现(一)
前段时间公司要做图表,本来想用个三方库就完事的,然而有很多个性化的实现,那就自己动手吧。先上图 实现的效果感觉还行,再有什么特殊的需求,自己写的东西,改起来也方便。接下来是把图表功能涉及到的类都先抽象出来。ChartData包下是绘图时要用到的数据。 Xvalues:X轴下每个点要绘制的东西,如上面柱状图中绘制的月份数据。 Yvalu原创 2017-08-14 16:13:51 · 2969 阅读 · 1 评论 -
android 图表控件的实现(二)
在这篇博客中,将实现混合柱状图 在上一篇博客中讲到过,所有的图表类都只要重载 abstract protected void startContent(Canvas canvas);//绘制图表内容 abstract protected void drawXaxis(Canvas canvas);//绘制X轴 abstract protected void drawY原创 2017-08-16 16:20:10 · 915 阅读 · 0 评论 -
RGBA颜色制作图片特效
Bitmap bitmap=Bitmap.createBitmap(src.getWidth(), src.getHeight(),Config.ARGB_8888);Paint paint=new Paint(Paint.ANTI_ALIAS_FLAG);Canvas canvas=new Canvas(bitmap);//设置颜色的色相ColorMatrix hue原创 2016-11-07 17:35:02 · 1311 阅读 · 0 评论 -
android实现xml数据的解析
尖括号里的“Family”,"Father","Mother","Son"是属于标签(tag)而“name”,“age”的是各个表签对应的属性 DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); try { DocumentBuild原创 2016-11-07 17:33:59 · 289 阅读 · 0 评论 -
扇形百分比控件
根据自己需求可以在添加一些属性方法,供外界调用。比如环的颜色,字体的大小。public class fanImageView extends View {int centerX, centerY;Paint mPaint;int radius;int gap;int sweepAngle原创 2016-11-07 09:48:23 · 795 阅读 · 0 评论 -
dialog设计stytle配置详解
true设置dialog有无标题栏 false设置dialog出现时是否屏幕变黑 @color/transparent设置dialog的北京透明度@null :Dialog的windowFrame框为无true:是否浮现在activity之上false:是否半透明@drawable/dia_bg:设置dialo原创 2016-11-07 09:54:58 · 566 阅读 · 0 评论 -
handler机制
Handler作用1:更新ui作用2:发送处理消息。后台工作线程不能更新ui,需要handler传递消息到主线程来更新ui创建一个消息 第一种:new Message() 第二种: handler.obtain()在这个方法中,它很把消息的发送目标target设置为handler本身。 发送原创 2016-11-07 17:22:21 · 309 阅读 · 0 评论 -
图片的压缩
在前面的GGBA颜色制作特效这篇笔记中,说了图片由像素组成,像素由色相,饱和度,亮度组成。当图片的像素不变时,把它读取到内存中不是不会节省开销的。这里有一个压缩质量的方法来压缩图片,要把图片压缩到100k以下public static void compressBmpToFile(Bitmap bmp,File file){ B原创 2016-11-07 17:25:27 · 268 阅读 · 0 评论 -
ValueAnimator的使用
valueAnimator的作用是可以逐一获得你设置好的值, 获得这些值后,在利用它实现你想要的效果。 我用这个动画改进了那个扇形百分比控件,效果十分炫酷。valueAnimator=ValueAnimator.ofInt(0,sweepAngle);val原创 2016-11-07 17:26:43 · 383 阅读 · 0 评论 -
onMeasure()方法及控件的绘制
在这个方法中,super.onMeasure()调用后将可以得到控件的宽高。控件的onMeasure(),Onlayout()方法会被执行多次,注意这里面执行的逻辑不要被多次执行了。要绘制控件,分为两步1.在onmeasure()方法中绘制好控件的大小2.在lonlayout方法里布局好控件的位置用view.layout(原创 2016-11-07 17:27:40 · 404 阅读 · 0 评论 -
用TextView显示富文本
下面这个方法是可以给source字符串加上横杠,淘宝中显示过去的价格就是用这个方法。public SpannableString getHenggangString(String source){ SpannableString henggangString=new SpannableString(source); henggangS原创 2016-11-07 17:28:51 · 5167 阅读 · 0 评论 -
AsyncTask类详解
AsyncTask是一个抽象类,AsyncTask实现类里要有三个泛型参数第一个是传入参数的类型,第二个是任务执行进度的值类型,Result是任务执行完时的返回值AsyncTask必须在执行完一个任务后才能执行下一个任务只能执行一次,多次执行触发异常。常用的一些方法getStatus()获取Asyn原创 2016-11-07 17:29:50 · 526 阅读 · 0 评论 -
Intent 的匹配模式
Intent实际上有android框架层的一个组件服务管理(一个线程),每次发起意图(Intent)组件服务管理器都会获取发起者的信息(action,componnet,cateory),然后在配置文件中找出注册的组件(activity,service,Reciver。。。)的过滤信息,然后进行匹配。intent需要匹配的前提是采用的是隐式调用,显式原创 2016-11-07 17:30:58 · 336 阅读 · 0 评论 -
从textview中获取bitmap
Textview tv=new TextView(context);tv.setText("zhongge");tv.setCompoundDrawablesIntrinsicBounds(drawable,null,null,null);tv.setDrawingCacheEnabled(true);Bitmap b=Bitmap.create(tv.getD原创 2016-11-07 17:31:51 · 551 阅读 · 0 评论 -
自定义属性
在values文件夹下,创建一个attr的xml文件一些常见属性设置declare-styleable的name要写成对应要应用于的控件的名字 在对应的控件的构造函数中解析属性 TypedArray array= context.getTheme原创 2016-11-07 09:43:37 · 428 阅读 · 0 评论