自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ViewPager的滑动和滑动特效

首先是OnPagerChangedListener执行顺序:onPagerSelected方法只有在页面翻页的时候才会执行,而且是在 onPageScrollStateChanged方法之后,其 state必须为2,即为松手。onPageScrollChanged方法在手指按下去滑动,松开时,和停止滑动的时候执行。按下去的时候 state 为1,松开为2,停止滑动为0。onpa

2017-06-14 17:02:05 1082

原创 兼容android Q存图片到相册

fun Context.saveBitmap2Galley(bitmap: Bitmap, dir: String = "", name: String): Boolean { val isSuccessed: Boolean val fos: OutputStream? if (Build.VERSION.SDK_INT >= Build.VERSION_CO...

2020-04-08 15:13:03 1065

原创 BottomNavigationView with navigation component状态问题

利用bottomNavigationView + navigation component能快速实现底部导航,只需要把navigation文件里的id和bottomNavigationView设置的menu里的id一致就可以实现,不用自己用supportFragmentManager切换fragment,还要重写bottomNavigationView的选择事件。说实话之前的方法挺麻烦。但是利...

2020-04-02 16:47:25 379

原创 android room自动生成sql语句

有时候真的很烦写migration,当增加表时,遇到这样的model就野熊能累死。database.execSQL("............")估计cc+cv都能按烦,所以咋整呢?在app的gradle里加上以下://输出sql语句,方便写migrationjavaCompileOptions { annotationProcessorOptions {...

2020-04-01 09:02:42 2815 1

原创 tablayout自定义tab宽度不正确的问题

本以为设置tabmode为scrollable就可以了,每个tab就会按照自己自定义的view展示。然并卵。解决方法:<com.google.android.material.tabs.TabLayout android:id="@+id/tabLayout" style="@style/Widget.MaterialComponents.TabLayout...

2020-01-14 15:14:27 788

原创 android透明状态栏(沉浸状态栏)

思路:1.首先theme里设置windowTranslucentStatus和statusBarColor这两个属性。发现状态栏有一个半透明的蒙层,而且布局不是从最边缘绘制,实在状态栏下面开始计算的。2.设置activity没有限制,即全屏3.在你想要实现的布局上添加一个空view,背景色就是你状态栏的颜色。若想实现图片在最顶部并沉浸的效果,不加这个view即可。设置这个view的高度...

2020-01-14 09:43:42 378

原创 ajax上传下载实现进度条

$$.ajax({ method: 'POST', url: './upload', contentType: false, cache: false, processData: false, data: formData, beforeSend: function (XMLHttpRequest) { //Upload...

2020-01-07 08:40:18 517

原创 js实现拖拽文件上传

//拖拽文件刚到目标上$$('#app-form').on('dragenter', function () {console.log("dragenter");});//拖拽在目标上,一直执行$$('#app-form').on('dragover', function () {console.log("dragover");$$('#app-form').css("back...

2020-01-07 08:37:38 1519

原创 解决ktor里freemarker中文乱码的问题

install(FreeMarker) { templateLoader = ClassTemplateLoader(this::class.java.classLoader, "templates") defaultEncoding = "utf-8"}主要就是 defaultEncoding = "utf-8"这句话

2019-12-19 09:12:55 253

原创 startactivityforresult singletask导致登录页面会出现多个的问题

由于登录页面的launcherMode设置为singleTask,本以为调用的时候如果已经在栈中就不再创建了,没有的话会只创建一个。项目中登录成功后会销毁loginActivity,每次接口请求session失效的时候会调用登录,有时一个页面进行多次请求所有会出现调用多次的情况,因为我是用startactivityforresult 这样可以判断是否登录。但结果万万没想到,有多个登录页面弹出了...

2019-12-12 09:10:36 595

原创 navigation component fragment argument type

"integer" -> IntType "integer[]" -> IntArrayType "long" -> LongType "long[]" -> LongArrayType "float" -> FloatType ...

2019-11-05 16:15:29 385

转载 swiperefreshlayout中嵌套recyclerview,recyclerview中嵌套recyclerview

```recyclerView.setNestedScrollingEnabled(false);recyclerView.setFocusableInTouchMode(false);recyclerView.requestFocus();```

2019-11-05 14:42:32 271

原创 retrofit2 fieldMap kotlin报错

interface ApiService { /** * 获取新闻列表 * @param requestMap 请求参数 * @return */ @FormUrlEncoded @POST(Constants.LOGIN) fun getNewsList(@FieldMap requestMap: Map<Str...

2019-08-05 18:28:10 713 1

原创 ViewPager+fragment懒加载

package cn.lonsun.adapter.lazyfragmentimport android.os.Bundleimport android.view.LayoutInflaterimport android.view.Viewimport android.view.ViewGroupimport androidx.fragment.app.Fragment/** ...

2019-08-01 17:57:10 156

原创 Navigation Component with BottomNavigationView

Activity:navController = findNavController(R.id.nav_controller)appBarConfiguration = AppBarConfiguration( setOf( R.id.navigation_home, R.id.navigation_monments, R.id....

2019-07-16 15:27:15 153

原创 Default interface methods are only supported starting with Android N

在gradle中加入```android { ... // Configure only for each module that uses Java 8 // language features (either in its source code or // through dependencies). compileOptions { sourceCom...

2019-07-03 15:46:04 117

原创 submitList()后smoothScrollToPosition()或scrollToPosition()无效的解决办法

```override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) val adapter = WordAdapter() adapter.registerAdapterDataObserver(ob...

2019-07-02 18:07:38 1789

原创 androidx迁移

Old build artifact AndroidX build artifact android.arch.core:common androidx.arch.core:core-common:2.0.0-rc01 android.arch.core:core androidx.arch.core:core:2.0.0-rc01 android.arch.core...

2019-06-18 10:11:46 398

原创 透明状态栏导致windowsoftinputmode失效的问题解决

/** * 全透状态栏 */protected fun setStatusBarFullTransparent() { if (Build.VERSION.SDK_INT >= 21) {//21表示5.0 val window = window window.clearFlags(WindowManager.LayoutParams.FLAG...

2019-05-20 15:27:18 996

原创 DataBind错误解决

1.出现Found data binding errors.****/ data binding error ****msg:Cannot find the setter for attribute 'app:isGone' with parameter type boolean on androidx.recyclerview.widget.RecyclerView.类似的错误提示时 首先...

2019-05-17 15:55:01 1098

原创 点击editetext外部键盘消失 并失去焦点

在baseActivity里重写dispatchTouchEvent方法/** *点击外部事件 */override fun dispatchTouchEvent(ev: MotionEvent): Boolean { if (ev.action == MotionEvent.ACTION_DOWN) { val v = currentFocus ...

2019-04-16 09:00:58 472

转载 android p设备上访问不了网络

为保证用户数据和设备的安全,Google针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android Nouga...

2019-01-17 14:40:24 1296

原创 viewpager加载fragment切换后数据会再次加载的问题

1.懒加载package com.berlin.lslibrary.scrollimport android.os.Bundleimport android.support.v4.app.Fragmentimport android.support.v7.widget.LinearLayoutManagerimport android.view.LayoutInflaterimp...

2019-01-09 08:43:26 1140

原创 FragmentTransaction替换fragment后生命周期会再执行一次

FragmentTransaction调用add方法会再次调用fragment的生命周期FragmentTransaction调用show方法就可以解决了  FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();if(current!=null){ ...

2018-10-24 09:41:48 1374

原创 小程序自定义下拉刷新

自定义组件:js:// components/loadmore/loadmore.jsComponent({/*** 组件的属性列表*/properties: { }, options: {multipleSlots: true,}, ready: function() {var that = this;const query =...

2018-09-18 11:38:37 1983

原创 android写文件后连接电脑看不到

感谢https://blog.csdn.net/saharis/article/details/38818519 帖子写文件后必须要调用MediaScannerConnection.scanFile(this, new String[] { file.getAbsolutePath() }, null, null);如不调用重启手机也可以的 但产品经理肯定说不行的 ...

2018-05-24 16:44:15 4728 3

原创 ndk bundle16出现的问题

C:/Users/Administrator/AppData/Local/Android/sdk/ndk-bundle/toolchainsvm/prebuilt/windows-x86_64/bin/clang++.exe is not full path什么的根本没windows-86_64这个目录 只有windows目录 所以查看ndk目录里的ndk-bundle\build

2017-11-28 15:32:35 506

原创 android studio最新sdk更新方法

哇 好大一堵墙啊1:修改host文件(亲测可用)mirrors.dormforce.net dl-ssl.google.commirrors.dormforce.net dl.google.com2:在sdk 界面 选中sdk update site里添加国内的镜像网站(没测试过)http://mirrors.dormforce.net/android/

2017-11-21 10:45:33 5485

原创 cmake问题

可能会有朋友遇到cmake无法下载的问题,studio报错:unable to get the cmake version located at .....就是因为ndk编译,android studio会默认使用cmake来编译,淘汰了android.mk的使用。不要问我为什么,我也不知道。。。遇到这个问题,当然第一时间就是去sdk manager下载cmake,但是sdk manage

2017-11-21 10:39:29 820

原创 列表中播放 videoview 仿内涵段子

长友们大家好:遇到的问题://注意:一定不要用 vitamio1:videoveiw.setVideoPath(url)后自动播放了 ,查看源码知道如果没有设置 OnInfoListener,会有个默认的 OnInfoListener,当缓冲结束后,会自动调用 onstart。OnprePareListener也要设置。2:recyclervie

2017-05-24 09:55:39 1276 1

原创 style 实现全屏和AppCompat does not support the current theme features错误的解决

由于目前都是使用Appcompat的主题,当创建工程的时候就自动写好了 Appcompat 的style,由于 application 的 theme 是 appcompat,其 activity 就必须要是 appcompat 的主题,所以当我们 acticity 使用android 的 style 或者不是继承 appcompat 的主题,会报错。AppCompat does not

2017-05-24 09:53:15 334

原创 更正swiprefreshlayout主动显示小圆圈

上一篇博客介绍了利用java的反射原理来显示小圆圈,发现这个还是有问题,当第二次调用该方法的时候,小圆圈不立马显示。显示的时间也比较短,几乎是一闪而过。这次让更好的显示和隐藏。大家都知道直接调用setrefreshing(true)这样并不能显示小圆圈。public void show(final RefreshLayotAndLoad refreshLayot) { refr

2016-07-26 10:13:28 339

原创 swiprefreshlayout主动显示小圆圈

首先找到布局里的swipfreshlayout对象。之后利用java中的反射原理,先获取mCircleView让其设置可见,之后获取setrefreshing方法,调用invoke方法进行调用。代码如下:public void autoRefresh(){try {Field mCircleView = SwipeRefreshLayout.class.getDec

2016-07-21 09:36:55 741

原创 android视频播放器Vitamio的使用

我一直想做个牛b的视频播放器 公司项目中也有涉及到。开始我想从网上找个写好的播放器,发现并不咋的,还是靠自己双手才行。我也是通过网上查资料的 所以有的代码可能会讲过。首先 要实现横屏和竖屏的切换。当然是要重写onconfigchanged方法还要在清单文件中写上android:configChanges="layoutDirection|screenSize|orientation" 这

2016-07-13 17:05:04 503

空空如也

空空如也

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

TA关注的人

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