项目中平时遇到的小知识点集锦

 

  1. 相册框架Matisse
    安卓ui库--QMUI                                                                                                                                                                         QMUIRadiusImageView-qmui_is_circle,圆形
  2. 取消Button的背景色    style="?android:attr/textViewStyle"
      android:background="@null"
  3. layout_toLeftOf   在。。的左边
  4. gridview嵌套scorllview显示不完全问题--众所周知,a、重写mygridview,b、也许你可以看看你的父布局高度够不够你的gv展示你需要展示出来的数据,c、看看gv的父布局的大小是否够展示这么多数据  d、看看adapter的item的宽高布局是否是match_parent,如果是,请改成,war_content
  5. BaseRecyclerViewAdapterHelper,推荐一个好用的adapter的非常方便使用的框架

  6. singleInstance   只有一个实例
    singleTask         栈内复用模式(onNewIntent)
    singleTop          栈顶复用模式(onNewIntent())
    standard           默认模式   安卓中四种启动模式小记(以前写过相关文章:https://blog.csdn.net/qq_39590763/article/details/84620750)
  7. tabLayout切换控件
  8. alt+s  gsonformat的格式化的快捷键,推荐一个Androidstudio中格式化json数据以及快捷导入实体的插件:gsonformat
  9. tools属性,  相当于一个测试的作用,在as中预览的时候可以看到tools的值,运行以后就不会显示了。
  10. gravity  :是对控件本身来说的,是用来设置“控件自身的内容”应该显示在“控件自身体积”的什么位置,默认值是左侧。
    layout_gravity:是相对于控件的父元素来说的,设置该控件在它的父元素的什么位置。 例如:android:gravity="left|top"    设置按钮中的文字靠左居上
  11. FrameLayout  帧布局,一般联合viewPager使用,做一个tab切换的效果
  12. fragment使用setArguments(),传参,在由于内存紧张导致Fragment被系统杀掉并恢复(re-instantiate)时能保留这些数据。
  13. layout_weight     weight是平分剩下的空间的。线性布局让一个a控件处于布局底部--试一下,让a控件上面的控件高度为0且layout_weight=1!!
  14. x5webview,使用场景:用于h5跳转的时候使用
  15. cardView,卡片布局,适用与列表数据的item中有圆角阴影等样式的时候
  16. maxAge                                                                                                                                                                                   如果maxAge属性为正数,则表示该Cookie会在maxAge秒之后自动失效。浏览器会将maxAge为正数的Cookie持久化,即     写到对应的Cookie文件中(每个浏览器存储的位置不一致)。cookie.setMaxAge(Integer.MAX_VALUE);(永久有效) 。       当maxAge为0时,表示立即删除Cookie  。                                                                                                                           当maxAge属性为负数,则表示该Cookie只是一个临时Cookie,不会被持久化,仅在本浏览器窗口或者本窗口打开的子窗口中有效,关闭浏览器后该Cookie立即失效。
  17. 设置已进入含有编辑框的界面不会一下子就获取到焦点,在编辑框的父布局中加入属性:android:focusable="true"
            android:focusableInTouchMode="true"
  18. empty   string   查询主要是金钱类参数的类型是否是double,还有就是重新考一次api文档的响应参数的实体
  19. 约束布局下面的include高度失效,下面的布局使用top_to_buttom="title_bar"无效,直接margintop_title_bar的距离。          尴尬.jpg
  20. 解决NestedScrollView   不能撑满整个屏幕的问题,给NestedScrollView   加一个属性----android:fillViewport="true"  
  21. 线性布局里面的,showDividers/dividers(支持图片和shape文件显示)
  22. as导入依赖的时候,新版本有两种方式-implement,api,api的范围大一点。
    比如:A imp B imp C,A可以引用B,但是不能引用C,只有B可以引用C的公开 接口,
    A api B api C,A可以引用B也可以引用C的公开接口
  23. 以后的点击事件就用:View.onClickDebounced(操作。。。),解决短时间内跳转多次的问题
  24. 在fragment里面,startActivityForResult()的时候,第一个参数,可以是activity,也可以是context,区别就是,看你需要在哪里拿到返回的值?,然后就传啥
  25. 解决数字太大自动转为科学计数法的, toPlainString,转为正常数字
  26. fragment重叠问题  
    //必须在super 之前调用,不然无效。因为那时候fragment已经被恢复了。
            if (savedInstanceState != null) {
                // FRAGMENTS_TAG
                savedInstanceState.remove("android:support:fragments");
                savedInstanceState.remove("android:fragments");
            }------亲测有用,只是不知道自己测试的方式对不对
  27. tools:listitem-显示哪个item
    tools:listcount-显示几条(listview或者gridview或者recyclerview中使用)                                                                            tools:src="@tools:sample/avatars" />   预览的时候   itemlayout   的imageview可以用这个src,可以预览很多张图片
  28. 解决自定义的titlebar的沉浸式问题
    ImmersionBar.setTitleBar(this, toolbar的id)
  29. cornerImageView  用于需要显示的图片中有圆角的时候
  30. 直接给别人发项目的时候,可以把.gradle,.idea,build,gradle都删掉,别人拿过去编译的时候这些都是会重新生成的
  31. 记录一次找不到资源的0智商问题:
    一直找不到资源id,文件和id肯定是有的,也肯定是没错的,到那时就是找不到,,,后来发现,是自己把layout放到debug里面去了。。
  32. View-toolbar  打开,按下alt+ctrl+←,可以回到上次编辑的地方
  33. spannableString的用法,包前
    spannableString.setSpan(ForegroundColorSpan(Color.parseColor("#FD3A46")), 9, 21, Spannable.SPAN_EXCLUSIVE_INCLUSIVE)
  34. kotlin之初始化可变集合:                                                                                                                                                      var records: MutableList = mutableListOf(),
  35. bga的值设置:setData(ArrayList)
  36. 服务端返回的响应参数如果时,Integer64位的话,类型就是长整形的(Long),,在adapter适配器里面设置数据de时候,如果响应实体的参数类型时候Int的时候也要注意,设置值的时候也要toString一下!,要不然报错的,可能会报资源找不到的错误
  37. 新建api的文件的时候可以新建一个object类型 的文件!
  38. 界面太多 ,很多界面都有相同 功能的控件的命名的时候就可以用baselilb下面的ids给配置一个公共的全局的id,用到这种控件的时候就直接@id/base_img_back,就可以直接使用啦,


  39.  取消文本框内置上下边距  android:includeFontPadding="false"
  40. onItemChildClick的点击事件的时候记得给控件添加点击事件
  41. 当编辑框超过布局高度的时候,实现编辑框随着软键盘的的弹起而上升,在清单文件中给,该activity添加,  android:windowSoftInputMode="adjustPan|stateHidden"
  42. input type=numberDecimal,的时候才可以给小数点,并且只能输入数字的,如果是input type=number的话就只能输入整数的
  43. 记录一次傻逼问题!!!!!!
    当我在adapter里面想给一个视频控件一i个显示隐藏的问题的时候我一直这样xie,,
    when (item.videoUrl.isEmpty()) {
                gsyVideoPlayer.visibility = View.GONE          }
       //gsyVideoPlayer就是那个控件,然后一直报错一直报错!!尝试各种先获取控件再去显示隐藏,但是一直报错,以为是这个控件的问题!!!后来发现我写在了,,when里面,,,when里面,,when里面 ,,这是什么操作!!!啊啊啊
  44. photoView

 

  

你可能感兴趣的:(DailyStudy,AndroidStudio)