自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhangXiaoFan_的博客

不进步,毋宁死

  • 博客(20)
  • 资源 (3)
  • 收藏
  • 关注

原创 ViewPager2动态添加删除Fragment

ViewPager2动态添加删除Fragment需求需求未登录显示 B,C 两个Tab登录后显示 A,B,C三个Tab其实不一定会是 ABC这个顺序,BAC,BCA,也是可能的单纯的修改getItemCount()这个方法的返回值,比如未登录返回2,登录后返回3,然后调用viewPager.adapter!!.notifyDataSetChanged() 是不能保证Fragment正确显示的,如果正确显示了想必你们也不会搜到这篇博客了。直接依靠position是无法做到我们的需求的,就拿未登录显

2021-06-23 11:57:44 4125

原创 【Java】【String】String.intern()

public String intern()返回字符串对象的规范化表示形式。 一个初始时为空的字符串池,它由类 String 私有地维护。 当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由 equals(Object) 方法确定),则返回池中的字符串。否则,将此 String 对象添加到池中,并且返回此 String 对象的引用。 它遵循对于任何两个字

2017-07-04 16:23:46 371

原创 JNI中javah命令的使用,生成.h的头文件的注意事项

G:\Android\Android\Demo4\HandDemo\app\src\main\java> 切到这个路径输入这个指令:javah -classpath G:\Android\Android\Demo4\HandDemo\app\src\main\java -jni com.hand.hand.hand.JniDemo-classpath 是JniDemo.class所在的绝对路径

2017-06-01 10:02:39 396

原创 一个奇特的做法

ViewParent是一个接口,其中有一个方法:requestLayout ViewGroup implements ViewParent 但是未实现requestLayout,ViewGroup是抽象类,其子类也未实现此方法,却没有编译错误,这是为什么? 然后发现了 ,ViewGroup extends View,在View中定义了一个方法requestLayout,这是不是没有报错的原因?

2017-02-15 11:20:14 385

原创 【Android】【自定义View】MotionEvent getX()和getRawX()的区别

下面是View跟随手指移动的案例,使用 getaowX和getX 两种获取坐标的方式先是 getRawX()的方式 @Override public boolean onTouchEvent(MotionEvent event) { float x = event.getRawX(); float y = event.getRawY(); s

2016-12-27 11:32:04 557

原创 【Android】【自定义View】canvas的方法大全

1.drawText 如何计算正确的绘制文字位置? 例如下图,如何将文字绘制在合理的位置首先: 计算正确的x位置 x = (getWidth() - mTextPaint.measureText(mText)) / 2; 再来:计算正确的y的位置 y =(getHeight() + (fm.descent - fm.ascent)) / 2 - (fm.ascent - fm.to

2016-12-01 15:47:56 338

原创 【Android】【RecyclerView】各种LayoutManager划分割线

RecyClerView的各种分割线,List,Grid,Staggered,垂直和水平1.LIST public class ListDividerItemDecoration extends RecyclerView.ItemDecoration { private int[] attrs = new int[]{ android.R.attr.listD

2016-09-01 11:20:09 1002 1

原创 【Android】【版本差异】启动模式

1.singleInstance和singleTask导致startActivityForResult回调失败这个相信大家都知道,也都遇到过,但这句话不完全对 在5.0 以下,这句话是对的 但是对于5.0以上这句话是错误的

2016-08-11 16:16:37 330

原创 【Android】【优化】

1.Android中的实体类的正确用法 实体类是Android 开发中经常用到的一个东东,然而今天我才听说、然后了解到原来Android中的实体类的用法不应该和Java中的实体类的用法一个样。之前学java基础的时候知道实体类这个东西都是这样的:先建一个类,然后设置几个私有属性,然后通过get和set方法供外界调用,于是到了Android中也是一样这样用,但是其实这样在Android中是不推荐的方

2016-08-05 15:19:49 275

原创 【Android】【ViewGroup】多个监听和回调的顺序

ViewTreeObserverLinearLayout ViewTreeObserverLinearLayout ViewTreeObserverView ViewTreeObserverView ViewTreeObserverView onFinishInflate ViewTreeObserverLinearLayout onFinishInflate ViewTre

2016-08-03 17:44:42 1214

原创 【Android】【ViewGroup】MeasureSpec工作原理

MeasureSpec代表了一个32位int值,高2位代表SpecMode,低30位代表SpecSizemeasureSpec: return (size & ~MODE_MASK) | (mode & MODE_MASK); mode: (measureSpec & ~MODE_MASK) size: (measureSpec & MODE_MASK)childSize:

2016-08-03 11:05:57 407

原创 【Android】【ViewGroup】【ListView】ListView的一些细节

为什么我们在Item根布局xml中设置LayoutParams无效? <?xml version="1.0" encoding="utf-8"?><TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/textView1" android:layout_

2016-07-27 13:39:40 1102

原创 【Android】【完善】【凯子哥带你夯实应用层】滚来滚去,滚来滚去...Scroller相关类使用大揭秘!!!

完善【凯子哥带你夯实应用层】滚来滚去,滚来滚去…Scroller相关类使用大揭秘!!! 的JellyTextView 效果图 凯子哥之所以会向y轴靠,正是因为这个方法中 未做任何判断直接调用这两个方法 mScrollerX.springback mScrollerY.springback 在这个方法中有这样一个判断 if (start < min) {

2016-07-21 17:14:25 1079

原创 ADB指令

启动一个Activity -W 会显示启动耗时 adb shell am start -W -n package/.package.ClassName

2016-07-21 14:07:44 359

原创 【Android】【ViewGroup】【ScrollView】ScrollView的一些细节

如何判断ScrollView 是否滑到底部? //getScrollY() 向上滑动 为正值,向下滑动为负值 //getHeight() scrollView的高度,看好了不是内容的总高度哦 //computeVerticalScrollRange() 这个才是内容的总高度

2016-07-18 16:48:58 333

原创 【Android】HorizontalNumberPicker

好久没写了,发一个项目中用到的 支持单点,长按的 加减器 效果如如下 定义如下private final int NUMBER_MIN = 0;//最小值 private final int NUMBER_MAX = 100;//最大值 private FrameLayout mFrameLayoutReduce;//减号 private FrameLay

2016-07-18 16:36:17 1164

原创 【Android】【完善】MarqueeView垂直跑马灯解析和完善

MarqueeView垂直跑马灯解析和完善 上次看到一个垂直跑马灯的项目,于是就研究了一下,在此记录一下 源代码地址,点击效果图下面开始解析代码public class MarqueeView extends ViewFlipper { private Context mContext; private List<String> notices;//储存拆分好的字符串,然后

2016-06-15 14:00:25 1233 2

原创 【Android】奇葩需求实现方案

奇葩需求实现方案: 之前有个群友发了这样一张图片,需要实现如下图右边那个效果 很明显使用 windowSoftInputMode 是无法实现这个效果的 我的思路是这样的, 把区域B这个界面作为PopupWindow,Show到 Activity中,这样就可以很完美的做到想要的效果了,不是吗?利用PopupWindow的特性,就是这么简单!

2016-06-07 15:49:19 653 1

原创 【Android】自定义ProgressBar,SeekBar【二】

自定义ProgressBar,SeekBar 第二篇上一篇链接:http://blog.csdn.net/zhangxiaofan_/article/details/51566455 看到一个网上的进度栏写的挺漂亮,我也来试试吧 一言不合我就贴代码!效果图如下: 目前做出的效果 定义如下:private final int COLOR_RED = 0xFFE32F4F;//源

2016-06-06 15:52:17 463 1

原创 【Android】自定义ProgressBar,SeekBar

Android有个群友有个自定义的控件写不出(效果如下),本着救苦救难,就帮他一把,顺便开源出去。其实这个效果我们去重写SeekBar并不好实现,但是通过自定义View还是很好实现的,下面说下思路。我们先画目标(DST)圆角矩形,在其上覆盖源(SRC)圆角矩形,再画两个圆(一个空心,一个实心),步骤就是这么的简单,关键在于位置的计算。然后是实现后的效果图 首先定义如下 private f

2016-06-02 13:24:20 1337 1

[Android]自定义ProgressBar,SeekBar2

详情见博客: http://write.blog.csdn.net/mdeditor#!postId=51596097

2016-06-07

[Android]自定义ProgressBar,SeekBar_2

详情见博客:http://blog.csdn.net/zhangxiaofan_/article/details/51566455

2016-06-03

[Android]自定义ProgressBar,SeekBar

详情见博客:http://blog.csdn.net/zhangxiaofan_/article/details/51566455

2016-06-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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