![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
View
qq_21467035
这个作者很懒,什么都没留下…
展开
-
Android 设置app深色、浅色、跟随系统
我们需要再用户设置时候,记录下来,用户的设置,等app再次启动时候,获取之前设置,重新设置。2、获取当前Activity是否开启深色。4、深色浅色切换时候,重启app。1、设置单个Activity。3、webView设置。原创 2023-08-24 11:07:48 · 2438 阅读 · 0 评论 -
Android View截屏长图拼接(RecyclerView)
RecyclerView截屏,其实就是遍历每个itemView,得到每个itemView的Bitmap,然后拼接成一个Bitmap。原创 2023-08-23 14:51:53 · 904 阅读 · 0 评论 -
Android View截屏长图拼接(NestedScrollView)
NestedScrollView只有一个childView,虽然没有全部显示在界面上,但是已经全部渲染绘制,因此可以直接 调用NestedScrollView.draw(canvas)来完成截图,具体看代码逻辑。原创 2023-07-18 18:58:46 · 494 阅读 · 0 评论 -
Android View 截屏上下拼接
【代码】Android View 截屏上下拼接。原创 2023-07-18 18:55:23 · 241 阅读 · 0 评论 -
EditText hint内容居右,光标居右
EditText hint内容居右时候,光标居左问题。原创 2022-08-06 14:24:27 · 1330 阅读 · 0 评论 -
Android深色模式适配
Android深色模式适配原创 2022-06-23 15:28:03 · 2647 阅读 · 0 评论 -
Android页面View截图(分享、保存相册)
方法一:通过系统方法获取图片Bitmap实现分享(Deprecated) @Deprecated public static Bitmap loadBitmapFromView(View view) { Bitmap drawingCache; if (true){ //方法一: view.setDrawingCacheEnabled(true); drawingCache = vie原创 2022-03-24 13:04:18 · 4105 阅读 · 0 评论 -
Android 越界回弹(支持水平和垂直方向)
1、直接上图:2、直接上代码public class DampingReboundLayout extends ViewGroup implements NestedScrollingParent3, NestedScrollingParent2, NestedScrollingChild3, NestedScrollingChild2, NestedScrollingParent, NestedScrollingChild { private st.原创 2021-11-01 11:50:21 · 1531 阅读 · 0 评论 -
Andorid RecyclerView 局部刷新--倒计时
前面我们介绍RecyclerView局部刷新功能实现,我们可以利用局部刷新功能实现倒计时功能。倒计时其实就是每个1秒去刷新TextView,实现时间变化,然而在RecyclerView itemView 复杂时候,我们全局刷新,往往会造成性能损耗,所以我们采用局部,只刷新TextView 一个控件来实现倒计时功能1、handler + recyclerView 来实现列表倒计时handler用来延迟一秒实现倒计时效果,通知RecyclerView刷新单个条目TextView时间...原创 2021-10-18 16:03:12 · 310 阅读 · 0 评论 -
Android 弹幕(bilibili-DanmakuFlameMaster)—1
1、地址:DanmakuFlameMaster2、依赖:implementation 'com.github.ctiao:DanmakuFlameMaster:0.9.25'implementation 'com.github.ctiao:ndkbitmap-armv7a:0.9.21'// Other ABIs: optionalimplementation 'com.github.ctiao:ndkbitmap-armv5:0.9.21'implementation 'com.gith原创 2021-10-14 11:05:16 · 1448 阅读 · 1 评论 -
Android RecyclerView 局部刷新
我们在列表数据更新某一个状态:1、往往由于Item view 中包含有图片,自然而然图片(Glide)刷新,这样会有闪一下效果,用户体验不是很好。2、界面会重绘,由白白损耗性能。那么RecyclerView 有没有一种只刷新某一个View呢?其他在源码中是有的。两个都是 onBindViewHolder只是参数不一样,实际上payloads这个参数就是用来区分局部刷新的。我们只需要在adapter 重新这两个方法。我们只需要在调用做区分就可以了。总结:1.原创 2021-08-25 19:27:19 · 868 阅读 · 0 评论 -
Android View 关于OnLongClickListener
View的OnLongClickListener事件实现原理是什么,又是如何触发(postDelayed),长按时间多久呢(0.4s)?1、通过源码我们发现View.setOnLLongClickListener()方法中: setLongClickable(true); getListenerInfo().mOnLongClickListener = l;public void setOnLongClickListener(@Nullable OnLongClickListe...原创 2021-08-05 14:56:31 · 971 阅读 · 0 评论 -
Android 开发多行TextView背景色
我们在开发文字背景色时候,往往ui设计稿是背景色只是文字区域,但是系统自带的BackgroundColorSpan 无法达到这样效果,所以我们需要自定义背景色。|贴上自定义BackgroundColorSpan代码:public class BetterHighlightSpan extends ReplacementSpan { private int backgroundColor; //行间距 private int lineSpacingExtr.原创 2021-08-03 18:03:55 · 716 阅读 · 5 评论 -
Android EditText java 设置 maxLength
我们在开发过程,经常会遇到EditText 设置可输入内容长度,但是发现java代码没有set方法,通过源码,我们发现InputFilter的妙用所在。在TextView中我们发现maxLength默认值为-1,并且当mxLength大于等于0才会设置LengthFilterif (maxlength >= 0) { setFilters(new InputFilter[] { new InputFilter.LengthFilter(maxlength) });} else {原创 2021-08-02 15:35:37 · 2912 阅读 · 0 评论 -
Android span 图文混合效果--图片居中显示
TextView 添加图片往往UI要的效果是居中,下面将图片居中,同时添加图片与文字的间距。public class CenterSpaceImageSpan extends ImageSpan { //左边距 private int mMarginLeft = 5; //右边距 private int mMarginRight = 5; public CenterSpaceImageSpan(Drawable drawableRes) {...原创 2021-08-02 14:38:21 · 630 阅读 · 0 评论 -
Android EditText 不得不说的InputFilter、TextWatcher、ActionMode.Callback、OnEditorActionListener
开发过程中,输入内容往往会遇到各种奇葩的限制输入1、editText.setFilters() editText.setFilters(new InputFilter[]{new InputFilter() { /** * editText 内容不变处理 * @param source 变化的字符串 * @param start 变化字符的首字符下标原创 2021-06-07 11:58:14 · 631 阅读 · 1 评论 -
Android 实现表情功能(Dialog)
Dialog实现表情评论功能核心问题:1、如何得到键盘弹起和隐藏状态2、在于表情和键盘切换时候,防止Dialog抖动问题1:由于无法获取键盘弹起状态,但是键盘弹起,View尺寸变化,同时被onSizeChanged()调用。View 源码: /** * This is called during layout when the size of this view has changed. If * you were just added to the view ..原创 2021-05-12 18:17:17 · 552 阅读 · 1 评论 -
Android span 文字背景色、前景色、圆角
1、可参考:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0305/2535.html2、自定义 设置文字背景色、前景色、圆角度public class BackgroundSpan extends ReplacementSpan { private int textColor; private int bgColor; private int radius = 0; private int.原创 2021-04-26 17:27:38 · 1113 阅读 · 0 评论 -
Android View 跑马灯效果
TextView 跑马灯效果 文字内容长度大于控件自身宽度时候,开启跑马灯效果public class AutoPollTextView extends View { private int textColor; private int textSize; private Rect rect; private TextPaint paint; private String contentStr = ""; private String showCon.原创 2021-03-25 13:47:27 · 164 阅读 · 0 评论 -
Android 悬浮窗
一、权限: <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />二、悬浮窗其实就是 WindowManager.addView(view,layoutParams),直接上代码1、单例创建FloatWindowManager/** 悬浮Manager*/public class FloatWindowManager { private volatile static.原创 2021-03-24 15:09:14 · 568 阅读 · 0 评论 -
Android BottomNavigationView 底部导航
AndroidDesign Support Library 25 中增加了BottomNavigationView这个控件。该控件可以为我们很方便提供底部导航,下面我们介绍一下该控件。1、依赖:build.gradle文件中增加依赖compile 'com.android.support:design:25.3.1'2、xml文件:<android.support.design.widget.BottomNavigationView ...原创 2021-03-24 14:34:52 · 2513 阅读 · 0 评论 -
TextView 流光效果
attrs.xml<!-- 流光效果 --><declare-styleable name="ShimmerTextView"> <attr name="stv_text_color" format="color" /> <attr name="stv_shimmer_color" format="color" /></declare-styleable>方案一:TextView 流光public class S原创 2021-03-24 14:21:22 · 300 阅读 · 0 评论