功能总结
开发中可能需要的功能
__趁早
这个作者很懒,什么都没留下…
展开
-
Android 获取虚拟键盘高度
activity.getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){ //当键盘弹出隐藏的时候会 调用此方法。 @Override public void onGlobalLayout() { Rect rect =原创 2020-09-21 11:53:27 · 891 阅读 · 0 评论 -
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 · 1145 阅读 · 0 评论 -
Android requestDisallowInterceptTouchEvent的用途
ViewPager来实现左右滑动切换tab,如果tab的某一项中嵌入了水平可滑动的View就会让你有些不爽,比如想滑动tab项中的可水平滑动的控件,却导致tab切换。因为Android事件机制是从父View传向子View的,可以去检测你当前子View是不是在有可滑动控件等,决定事件是否拦截,但是这个麻烦,而且并不能解决所有的问题(必须检测触摸点是否在这个控件上面),其实有比较简单的方法,在你嵌套的控件中注入ViewPager实例(调用控件的getParent()方法),然后在onTouchEvent,on转载 2020-07-06 15:04:31 · 1718 阅读 · 0 评论 -
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 · 1548 阅读 · 0 评论 -
Android 随机将List集合打乱
Collections.shuffle(list集合);//将集合随机打乱原创 2020-06-16 15:23:54 · 1232 阅读 · 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 · 624 阅读 · 0 评论 -
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 · 317 阅读 · 0 评论 -
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 · 885 阅读 · 0 评论 -
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 · 2096 阅读 · 0 评论 -
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 · 1241 阅读 · 0 评论 -
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 · 844 阅读 · 0 评论 -
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 · 3511 阅读 · 0 评论 -
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 · 10141 阅读 · 5 评论 -
Android 判断当前界面是否是桌面
/** * 获得当前活动APP的包名 * * @return 返回当前活动界面是不是桌面 */ private boolean isHomeWin() { ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVIT...转载 2020-04-15 17:33:45 · 513 阅读 · 0 评论 -
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 · 184 阅读 · 0 评论 -
Android Interpolator插值器详解
动画的基本原理是从开始时间到结束时间一帧一帧的播放静态图像。Interpolator插值器来指定动画如何变化的东东。Interpolator本质上讲是一种数学函数,参数是0.0到1.0之间的浮点数,输出值也是0.0到1.0的浮点数,曲线的斜率是速度。Android系统的插值器有9种:Interpolators的使用方式有两种:一种是通过xml文件来设置,另一种在代码中设置xml中的使用&...转载 2020-01-21 16:34:22 · 1518 阅读 · 0 评论 -
Git命令使用
**Git篇**安装之后第一步安装 Git 之后,你要做的第一件事情就是去配置你的名字和邮箱,因为每一次提交都需要这些信息:git config --global user.name "bukas"git config --global user.email "bukas@gmail.com"获取Git配置信息,执行以下命令:git config --list创建版本库什么...转载 2020-01-21 15:59:35 · 148 阅读 · 0 评论 -
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 · 230 阅读 · 0 评论 -
Android 下载视频(图片)保存到本地,通过原生分享分享到微信好友
public class MainActivity extends AppCompatActivity { private Button down; private TextView mTextView; private CompleteReceiver completeReceiver; private DownloadManager downloadM...原创 2019-08-05 16:44:28 · 5459 阅读 · 4 评论 -
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 · 190 阅读 · 0 评论 -
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 · 661 阅读 · 1 评论 -
Android RotateAnimation 旋转动画
Android Animation共有四大类型,分别是Alpha 透明度动画Scale 大小伸缩动画Translate 位移动画Rotate 旋转动画这四类动画按模式又可分为:tweened animation(渐变动画) —— alpha 与 scaleframe by frame(画面转换动画) —— translate 与 r...转载 2019-12-26 12:07:13 · 938 阅读 · 0 评论 -
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 · 815 阅读 · 0 评论 -
Android 实现华为,小米的桌面角标(小红点)
public static void setBadgeNum(Context context, int number) {//context对象,小红点的数量 if (isEmui()) {//这个是华为的 //华为的如果不想有小红点,传0就可以 try { Bundle bunlde = new Bundle...原创 2019-12-20 16:38:16 · 4824 阅读 · 3 评论 -
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 · 2715 阅读 · 0 评论 -
Android TextView关于Spanned的一些应用
一、概述**1、SpannableString、SpannableStringBuilder与String的关系**首先SpannableString、SpannableStringBuilder基本上与String差不多,也是用来存储字符串,但它们俩的特殊就在于有一个SetSpan()函数,能给这些存储的String添加各种格式或者称样式(Span),将原来的String以不同的样式显示...转载 2019-12-02 12:27:23 · 671 阅读 · 0 评论 -
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 · 113 阅读 · 0 评论 -
Android屏幕适配方案
点击这里进入原创 2019-10-30 18:59:54 · 90 阅读 · 0 评论 -
Android dp转px,px转dp,sp转px,px转sp
dp转px://根据手机的分辨率从 dp 的单位 转成为 px(像素)public static int dip2px(Context context, int dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * sc...原创 2019-10-22 19:05:40 · 196 阅读 · 0 评论 -
Android 通过获取手机的宽度,减去自己想要留白的区域,给控件设置宽度进行适配
因为是在适配器里使用的,所以可能是通过Context获取或者是Activity获取。通过Context获取:WindowManager windowManager = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE);//首先获取到WindowManagerLinearLayout.LayoutParams ...原创 2019-10-22 19:02:57 · 312 阅读 · 0 评论 -
Android 隐藏手机虚拟按键
Android部分机型没有物理按键,只有虚拟按键,Activity全屏方法如下:1、在这句setContentView(R.layout.activity_main);之前添加getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);2、当用户划出虚拟按键后,自动再隐藏方...转载 2019-10-21 19:18:35 · 1064 阅读 · 0 评论 -
Android 时间换算,秒换分,秒换天时分
//秒换为分钟public static String getDurationInMinutes(int duration){ if(duration % 60 == 0){ return duration / 60 + ""; }else { double m = ((double) duration) / 60....原创 2019-09-17 12:37:27 · 895 阅读 · 1 评论 -
Android 竖屏模式实现横屏效果
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_horizontal); DisplayMetrics dis...转载 2019-09-09 19:04:41 · 648 阅读 · 0 评论 -
Android中关于AudioFocus你所该知道的知识
一:首先我们来了解下什么是AudioFocus:AudioFocus是Android引入的一个Audio协调机制,当多方需要使用Audio资源时,可以通过AudioFocus机制来协调配合,提高用户的体验。需要注意的一点是:该机制需要开发者主动去遵守,比如A应用没遵守该机制,则其它遵守了该机制的应用是完全没办法影响A应用的。二:为什么要使用AudioFocus:试想下后台在播放着音乐的时候...转载 2019-09-06 20:16:35 · 1788 阅读 · 0 评论 -
Android HorizontalScrollView或ScrollView设置显示时的初始位置,不显示滚动条,不够全屏撑满
HorizontalScrollView或ScrollView.fullScroll()方法传入的参数:1.View.FOCUS_LEFT 左边2.View.FOCUS_RIGHT 右边3.View.FOCUS_UP 上边4.View.FOCUS_DOWN 下边原创 2019-09-04 14:29:10 · 1907 阅读 · 0 评论 -
Android 动态横竖屏切换
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//切换横屏setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);//切换反横屏setRequestedOrientation(ActivityInfo.SCRE...原创 2019-08-29 19:33:00 · 1301 阅读 · 0 评论 -
Android 通过Webview正在加载的Url获取其中的一个字段的值
通过webview的方法来获取的到当前正在加载的urlwebView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return s...原创 2019-08-29 19:16:11 · 733 阅读 · 0 评论 -
Android 将一串数字,每够3位,就添加逗号(可以保留小数)
public class DataUtils { /** * 将每三个数字加上逗号处理,最后保留两位小数(通常使用金额方面的编辑)示例:9,702.44 * * @param str * @return */ public static String addCommaDots(String str) { Deci...转载 2019-08-26 15:55:48 · 1396 阅读 · 0 评论 -
Android 判断时间是否是今天
public static boolean isToday(long when) { Time time = new Time("GTM+8"); time.set(when); int thenYear = time.year; int thenMonth = time.month; int thenMonthDa...原创 2019-08-13 18:04:26 · 2269 阅读 · 0 评论 -
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 · 646 阅读 · 0 评论