自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 收藏
  • 关注

原创 Android 使用ViewBinding视图绑定

目前,谷歌在 Android Studio 3.6 Canary 11 及更高版本中加入了新的视图绑定方式ViewBinding。注意:要使用ViewBinding功能,AndroidStudio至少要升级到3.6。使用方法在要使用ViewBinding的 module 的build.gradle文件中开启ViewBindingandroid { …………… viewBinding { enabled = true } ……………}如果在使用的过

2020-05-11 13:47:51 3447

原创 Android APPbarlayout与SwipeRefreshLayout刷新滑动冲突解决

appbarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() { @Override public void onOffsetChanged(AppBarLayout appBarLayout, final int verticalOffset) { mSwipeRefreshLayout.setEnabled(verticalOffset >= 0);//页面滑动

2020-09-25 15:37:57 1069 1

原创 Android 更改颜色的亮度,饱和度,色调

一位大神的解决方法,实测可用

2020-09-25 14:58:49 2725

原创 Android 获取虚拟键盘高度

activity.getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){ //当键盘弹出隐藏的时候会 调用此方法。 @Override public void onGlobalLayout() { Rect rect =

2020-09-21 11:53:27 840

原创 Android SpannableString 中 ClickableSpan的使用注意事项

bdCommentEmptyView.setText("开头");//直接先设置前段文字SpannableString spannableString = new SpannableString("要点击的内容");spannableString.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.theme_default)), 0, 6, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);//修改字体颜色

2020-08-28 19:12:06 1102

转载 Android requestDisallowInterceptTouchEvent的用途

ViewPager来实现左右滑动切换tab,如果tab的某一项中嵌入了水平可滑动的View就会让你有些不爽,比如想滑动tab项中的可水平滑动的控件,却导致tab切换。因为Android事件机制是从父View传向子View的,可以去检测你当前子View是不是在有可滑动控件等,决定事件是否拦截,但是这个麻烦,而且并不能解决所有的问题(必须检测触摸点是否在这个控件上面),其实有比较简单的方法,在你嵌套的控件中注入ViewPager实例(调用控件的getParent()方法),然后在onTouchEvent,on

2020-07-06 15:04:31 1297

转载 git 命令创建新分支并提交,创建新分支并合并到主分支

一、 创建test分支提交步骤1.列出所有分支# git branch -a 2.创建test分支 # git branch test 3.切换到test分支: # git checkout test4.添加add修改:# git add . 5.添加commit注释# git commit -m "第一次提交代码" 6.提交到服务器# git push origin testOr# git push origion HEAD:ref

2020-07-03 14:41:29 1510

原创 Android 随机将List集合打乱

Collections.shuffle(list集合);//将集合随机打乱

2020-06-16 15:23:54 1172 1

转载 Android viewpager 拿到当前显示的 fragment 的实例

一个 ViewPager 通过 FragmentPagerAdapter 绑定了 3 个 fragment可以通过 Fragment fragment = getSupportFragmentManager().findFragmentByTag( "android:switcher:" + R.id.viewpager + ":" + viewpager.getCurrentItem() );拿到当前的 fragment 的实例R.id.viewpager 是 viewpager 的

2020-06-10 17:02:30 608

原创 Android ViewPager动态切换是否允许滑动

继承后重新自定义view,修改onTouchEventpublic class MyViewPager extends ViewPager { private boolean scrollble = true; public MyViewPager(@NonNull Context context) { super(context); } public MyViewPager(@NonNull Context context, @Nullable At

2020-06-04 19:20:24 306

转载 Android 获取页面横竖屏

public boolean isScreenChange() { Configuration mConfiguration = this.getResources().getConfiguration(); //获取设置的配置信息 int ori = mConfiguration.orientation ; //获取屏幕方向 if(ori == mConfiguration.ORIENTATION_LANDSCAPE){ //横屏 return true; } else if (ori

2020-06-02 14:04:31 872

原创 Android 通过应用包名判断是否安装

public static boolean isAppInstalled(Context context, String packageName) { PackageManager manager = context.getPackageManager(); Intent i = manager.getLaunchIntentForPackage(packageName); if (i == null) { return false;

2020-06-01 15:57:05 2031

转载 Android 通过文件路径修改文件名称

今天遇到一个录制视频需要修改文件路径的,因为开始录制视频的时候已经生成文件名称才去录制视频,解决办法就是录制视频结束后根据文件路劲修改文件名下面直接贴代码/**2 * 通过文件路径直接修改文件名3 *4 * @param filePath 需要修改的文件的完整路径5 * @param newFileName 需要修改的文件的名称6 * @return7*/public static String FixFileName(String filePath, String newFileN

2020-05-22 12:07:09 1209

原创 Android 判断手机号格式

public class CommonUtils {//判断手机号格式public static boolean isMobileNO(String mobiles) { //"[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。 String telRegex = "[1][3456789]\\d{9}" ; if (TextUtils.isEmpty(mobiles)) return false

2020-05-12 18:26:13 816

转载 Android NestedScrollView嵌套RecyclerView导致滑动不流畅问题的解决办法

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);linearLayoutManager.setSmoothScrollbarEnabled(true);linearLayoutManager.setAutoMeasureEnabled(true);rcvImage.setLayoutManager...

2020-04-22 18:43:22 903

原创 Android 解决SwipeRefreshLayout与横向列表滑动冲突

public class VerticalSwipeRefreshLayout extends SwipeRefreshLayout { private int mTouchSlop; // 上一次触摸时的X坐标 private float mPrevX; public VerticalSwipeRefreshLayout(Context context, At...

2020-04-22 15:43:43 663 1

原创 Android 通过指定路径获取文件,通过File文件获取创建时间,文件大小

获取文件File media = new File(ConfigSingleton.getInstance().getExternalMartianVideoDir()); if (media.isDirectory()){ File[] files=media.listFiles(); for (int i=0;i<file...

2020-04-20 14:41:37 9641 5

转载 Android 判断当前界面是否是桌面

/** * 获得当前活动APP的包名 * * @return 返回当前活动界面是不是桌面 */ private boolean isHomeWin() { ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVIT...

2020-04-15 17:33:45 486

原创 Android Chronometer计时器用法

xml文件:<Chronometer android:id="@+id/record_video_chronometer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:forma...

2020-04-15 17:32:52 161

转载 Android Interpolator插值器详解

动画的基本原理是从开始时间到结束时间一帧一帧的播放静态图像。Interpolator插值器来指定动画如何变化的东东。Interpolator本质上讲是一种数学函数,参数是0.0到1.0之间的浮点数,输出值也是0.0到1.0的浮点数,曲线的斜率是速度。Android系统的插值器有9种:Interpolators的使用方式有两种:一种是通过xml文件来设置,另一种在代码中设置xml中的使用&...

2020-01-21 16:34:22 1271

转载 Git命令使用

**Git篇**安装之后第一步安装 Git 之后,你要做的第一件事情就是去配置你的名字和邮箱,因为每一次提交都需要这些信息:git config --global user.name "bukas"git config --global user.email "[email protected]"获取Git配置信息,执行以下命令:git config --list创建版本库什么...

2020-01-21 15:59:35 132

原创 Android The specified child already has a parent. You must call removeView() on the child‘s parent

当使用addview()的形式给布局添加view,一般都是要在addview之前先使用,Linearlayout.removeAllViews();但有些时候还是会有异常,提示这个消息,所以可以试一下这种方法:解决方法: linearlayout.removeAllViews(); View view = getChildView(); if (view.getParent() i...

2020-01-16 14:27:29 516

原创 Android 常用不透明度对应十六进制值

100%— FF 95% — F2 90% — E6 85% — D9 80% — CC 75% — BF 70% — B3 65% — A6 60% — 99 55% — 8C 50% — 80 45% — 73 40% — 66 35% — 59 30% — 4D 25% — 40 20% — 33 15% — 26 10...

2020-01-13 10:47:57 201

原创 Android 7.1.1新特性,实现页面启动的快捷方式

就类似于ZFB这样的这个只能够在Android 版本7.1.1及以上使用,以下没有效果实现方法: 静态设置在res文件夹里创建xml文件夹,创建一个shortcuts.xml文件<?xml version="1.0" encoding="utf-8"?><shortcuts xmlns:android="http://schemas.android.com/apk/r...

2020-01-03 17:35:59 174

原创 Android 铃铛简单摇摆动画

RotateAnimation rotateAnimation = new RotateAnimation(0, 15, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0f);//以图片的顶边中点为中心,进行左右摆动 rotateAnimation.setInterpolator(new CycleIn...

2019-12-26 12:14:20 616 1

转载 Android RotateAnimation 旋转动画

Android Animation共有四大类型,分别是Alpha 透明度动画Scale 大小伸缩动画Translate 位移动画Rotate 旋转动画这四类动画按模式又可分为:tweened animation(渐变动画) —— alpha 与 scaleframe by frame(画面转换动画) —— translate 与 r...

2019-12-26 12:07:13 880

转载 Android java.lang.NoSuchFieldError: 完美解决办法,以及原因

FATAL EXCEPTION: mainProcess: cn.com.jusoft.epumping.staff, PID: 27129java.lang.NoSuchFieldError: No static field ib_select of type I in class Lcom/ufo/imageselector/R$id; or its superclasses (decla...

2019-12-24 14:31:07 5991

原创 Android 修改CheckBox的样式

xml布局:<CheckBox android:id="@+id/close_video_check" android:layout_width="wrap_content" android:layout_height="wrap_content" android...

2019-12-23 12:39:56 776

原创 Android TextView 设置字与字之间的距离

TextView 有一个属性android:letterSpacing="0.5"//数值是浮点类型,大于0的则扩大之间的距离,小于0则会缩小,字与字相互覆盖但这个是支持Android 5.0及以上的,以下可能就没作用了...

2019-12-23 12:19:14 1125

原创 Android 实现华为,小米的桌面角标(小红点)

public static void setBadgeNum(Context context, int number) {//context对象,小红点的数量 if (isEmui()) {//这个是华为的 //华为的如果不想有小红点,传0就可以 try { Bundle bunlde = new Bundle...

2019-12-20 16:38:16 4716 3

原创 Android TextView 文字设置阴影,Button里的文字设置阴影 和 Button本身的阴影

因为button 是继承 textview的,所以button可以直接使用textview的属性TextView有四个属性可以设置:android:shadowColor :阴影颜色android:shadowDx :阴影水平方向偏移android:shadowDy :阴影垂直方向偏移android:shadowRadius :阴影的半径注意:阴影的半径必须设,为0时没有效果...

2019-12-20 16:19:47 437

转载 Android EditText不显示光标的解决方法

**解决方法有以下3种**1.在Edittext中加入以下属性android:cursorVisible="true"android:textCursorDrawable="@null"2.在Edittext中加入以下属性android:cursorVisible="true"android:textCursorDrawable="@drawable/test_cursor"...

2019-12-05 19:34:40 2658

转载 Android TextView关于Spanned的一些应用

一、概述**1、SpannableString、SpannableStringBuilder与String的关系**首先SpannableString、SpannableStringBuilder基本上与String差不多,也是用来存储字符串,但它们俩的特殊就在于有一个SetSpan()函数,能给这些存储的String添加各种格式或者称样式(Span),将原来的String以不同的样式显示...

2019-12-02 12:27:23 615

原创 Android 当有EditText时,显示和隐藏软件盘

//隐藏的方法 public static void hideSoftKeyboard(Activity activity, View view) { InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); i...

2019-12-02 12:09:41 99

原创 Android 动态修改TextView的字体大小,字体类型和去除TextView的默认内边距

textview.setTextSize(TypedValue.COMPLEX_UNIT_PX,16); //12pxtextview.setTextSize(TypedValue.COMPLEX_UNIT_SP,16); //12sptextview.setTextSize(TypedValue.COMPLEX_UNIT_DIP,16); //12dp

2019-12-02 11:58:07 682

原创 Android 使用shape文件实现一个虚线框

<shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#00000000"/> <corners android:radius="4dp"/> <stroke android:width="5dp" ...

2019-11-27 16:47:36 617

原创 Android 流式布局(修改版) 当达到两行,隐藏多余的

public class SearchLayout extends LinearLayout { private final int mParentWidth; private float textSize; private boolean textColor; private boolean background; private boolean isH...

2019-11-27 14:40:27 1004 2

转载 Android 笔记:TextView 属性

1、android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)2、android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。3、android:bufferType指定getText()方式取得的文本类别。选项ed...

2019-11-27 14:23:20 85

原创 Android java.lang.IllegalStateException: Underflow in restore - more restores than saves

原因:在自定义view里面调用了c.restore();方法来保存画布的bitmap图像;解决:c.save();//在之前先写这一句c.restore();

2019-11-25 11:46:08 1883

原创 Android 使用自定义view创建AlertDialog,去掉默认背景,去除默认边距

原因:一般我们使用自定义View的形式来创建AlertDialog,可能会对背景进行一些圆角或颜色背景的操作,但是这样的话可能会遇见一个问题。虽然我们给布局添加了新的背景样式,可是默认的背景依然存在。解决方法: AlertDialog.Builder builder = new AlertDialog.Builder(mActivity); builder.setView...

2019-11-19 18:26:47 820 1

空空如也

空空如也

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

TA关注的人

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