原创 Retrofit 文本上傳,文件上傳,多文件上傳,文本+文件上傳,多文件+多文件上傳

首先有個坑,Retrofit不會識別Any類型,如果直接使用Any類型傳遞參數,會報Parameter type must not include a type variable or wildcard的錯誤,這種時候需要添加註解:@Jv

原创 recyclerView平滑滾動(動畫滾動)並置頂

  一行代碼解決: RecyclerViewScrollHelper.scrollToPosition(recyclerView,position); RecyclerViewScrollHelper源碼: public clas

原创 android10調用相機和相冊,裁剪圖片,anroid11 圖片操作工具類

從android10開始,我們無法直接使用外部文件,因此所有外部文件都需要使用匿名uri進行操作 獲取到uri之後,如果想轉換成file,可以參考:https://blog.csdn.net/jingzz1/article/detail

原创 TabLayout+ViewPager2聯動

  以前,viewpager+tablayout聯動,只需要以下兩行代碼就解決, mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChan

原创 android10以上 uri轉file

android10以後,只需要考慮沙盒裏的文件uri和共享文件(匿名uri)的轉換,其他類型的,要麼轉換不成File,要麼拿不到,也就不用再考慮了 沙盒裏的文件,可以直接轉成File使用,共享文件如果要操作,需要先複製到沙盒目錄下 kot

原创 ViewPager2禁止滑動

調用setUserInputEnabled方法,設置是否滑動 viewPager2.setUserInputEnabled(false); //true:滑動,false:禁止滑動  

原创 androidx 找不到RecyclerView,TabLayout,Snackbar,FloatingActionButton,BottomNavigationView等控件

  RecyclerView,TabLayout,Snackbar,FloatingActionButton,BottomNavigationView 都屬於material控件,新建的androidX項目,是沒有集成material

原创 AAPT: error: unexpected element uses-permissions found in manifest

項目build之後,有可能會出現AAPT: error: unexpected element <uses-permissions> found in <manifest>.的錯誤,意思是<manifest>目錄下無法嵌套<uses-pe

原创 android 自定義通知不顯示

自定義通知的界面佈局只支持LinearLayout、RelativeLayout、FrameLayout,沒錯,我的意思是官方大力推薦的,用起來也很爽的ConstraintLayout不支持,通知佈局裏有ConstraintLayout的

原创 android 自定義View ,跟隨手指滑動

爲方便內部嵌套,這裏選擇重寫ConstraintLayout,換成其他控件也可以 public class FollowConstraintLayout extends ConstraintLayout { //移動

原创 android獲取MimeType的兩種方法

第一種是通過ContentResolver獲取 public static String getMimeType(Context context,File file,@NonNull String authority){

原创 android 閃光燈(手電筒)工具類

  這是kotlin代碼,複製代碼的時候,請不要複製到java文件 ╮(╯▽╰)╭ java源碼在下面!! android11邏輯沒變,所以放到android11依舊兼容   需要閃光燈權限: <uses-permission andr

原创 CardView 設置其中一個圓角的大小(自定義其中一個圓角的大小)(設置指定圓角大小)

  注意,material:1.1.0以上版本在RadiusCardView節點下一定要添加 android:theme="@style/Theme.MaterialComponents",不然會報錯,另外,由於是重寫自MaterialC

原创 解決ViewPager2嵌套RecyclerView滑動衝突的問題

viewPager2嵌套recyclerView滑動衝突,本來重寫ViewPager2或RecyclerViewImpl的onInterceptTouchEvent方法是最好的,但是ViewPager2是個final類,無法重寫,而Rec

原创 TabLayout+ViewPager不顯示

條目少時不顯示,有很大原因是adapter的getPageTitle()返回了null,重寫adapter的getPageTitle()方法,或者在 tabLayout.setupWithViewPager(viewPager)之後,再調