- 博客(18)
- 收藏
- 关注
原创 Android开发过程中相关问题整理
TwinklingRefreshLayout是一个支持下拉刷新和上拉加载更多的三方库,使用TwinklingRefreshLayout嵌套RecyclerView时发现RecyclerView中的item无法滑动。获取RecyclerView的第一个可见项的位置,如果为0表示已经滚动到顶部,此时允许下拉刷新,设置setEnableRefresh(true),解决下拉刷新的滑动冲突。在布局中的seekBar使用progressDrawable自定义进度条样式,但是layer-list的item未设置id。
2024-07-02 04:56:53 388 1
原创 《第一行代码》第三版笔记六
getSharedPreferences()方法接收两个参数,第一个参数用于指定SharedPreferences文件的名称,如果指定的文件不存在则会创建一个,SharedPreferences文件的存放路径为:/data/data//shared_prefs/目录下;String为getString()),每个get方法都接收两个参数:第一个参数是键,第二个参数是默认值,表示当传入的键找不到对应的值时会以什么样的默认值进行返回。(3)调用apply()方法将添加的数据提交。
2024-06-21 16:58:17 271
原创 《第一行代码》第三版笔记四
在一个Fragment中得到与它相关联的Activity,然后再通过这个Activity去获取另外一个Fragment的实例,这样就能实现不同Fragment之间的通信。在Fragement中调用Activity中调用Activity的方法,可以通过getActivity()方法得到和当前Fragment相关联的Activity实例。扩展函数表示即使在不修改某个类的源码情况下,仍然可以打开这个类,向该类添加新的函数。在Activity中调用Fragment的方法,可以通过调用。定义扩展函数的语法结构。
2024-06-17 03:02:21 240 1
原创 《第一行代码》第三版笔记三
LinearLayout:线性布局。将宽度指定成0dp,layout_weight设置为1,这样EditText与Button在水平方向上将均分占满屏幕的宽度。方法表示为对话框设置确定按钮的点击事件,setNegativeButton()方法表示为对话框设置取消按钮的点击事件,最后调用。extAllCaps可以设置Button显示的文字是否为大写,true为大写,false为小写,默认为true.该布局下所有的控件都会默认摆放在布局的左上角。layout_weight:允许使用比例的方式来指定控件的大小。
2024-06-16 23:59:58 865 1
原创 使用mediaRecorder.setOutputFile的注意事项
2、调用setOutputFile()时状态不正确。如果在录制过程中或者在调用prepare()之前调用setOutputFile(),也可能会抛出IOException异常。这是因为setOutputFile()必须在prepare()被调用之前设置好输出文件。一、使用mediaRecorder.setOutputFile之前应该先创建好本地路径,否则会报java.lang.IllegalStateException: failed to get surface。
2024-06-03 00:37:55 334
原创 bubble-navigation底部导航栏实现
本文主要使用bubble-navigation,实现底部导航栏选中时显示图标和文字,不选中的则只显示图标
2024-05-27 03:02:13 460
原创 近期安卓相关知识整理
1.1、创建一个xml布局,用于要展示的BottomSheetDialog样式1.2、进行实例化,用.show(),将BottomSheetDialog展示出来1.3、设置BottomSheetDialog的圆角效果1.4、设置固定高度1.5、去掉背景阴影:在style.xml中将backgroundDimEnabled设置为false。
2024-05-20 05:57:55 501
原创 《第一行代码》第三版笔记二
inflate()方法接收两个参数:第一个参数用于指定通过哪一个资源文件来创建菜单,这里传入上文中创建的Menu resource file;第二个参数Class用于指定想要启动的目标Activity,最后将构建好的intent传入startActivity()方法。除此之外还可以在标签中配置标签,用于更精确地指定当前Activity能够响应的数据。putExtra()方法。第一个参数是键,用于之后从Intent中取值,第二个参数才是真正要传递的数据。
2024-05-14 01:20:16 833 1
原创 《第一行代码》第三版笔记五
在清单文件中进行注册要接收的广播,然后构建一个intent对象,传入要发送的广播的值。由于在Android8.0之后,静态注册的BroadcastReceiver是无法接收隐式广播,因此这里一定要调用setPackage()方法,指定这条广播是发送给哪个应用程序的,从而让它变为一条显式广播。) {// 构建一个Intent对象,将要发送广播的值传入// 调用sendBroadcast将广播发送出去高阶函数定义:如果一个函数接收另一个函数作为参数,或者返回值类型是另一个函数那么该函数就称为高阶函数。
2024-04-28 02:48:50 654 2
原创 com.android.tools.r8.internal.Fq: No VersionRequirement with the given id in the table
在构建release版本时候遇到了:No VersionRequirement with the given id in the table。
2024-04-23 03:13:32 612 2
原创 《第一行代码》第三版笔记一
map函数,用于将集合中的每个元素都映射成一个另外的值,映射的规则在Lambda表达式中指定,最终生成一个新的集合。filter函数,过滤集合中的数据。Of()表示创建一个不可变集合,mutableSetOf()表示创建一个可变集合;Of()表示创建一个不可变集合,mutableMapOf()表示创建一个可变集合;maxBy函数的工作原理是根据传入的条件来遍历集合,从而找到该条件下的最大值。listOf()表示创建一个不可变集合,mutableListOf()表示创建一个可变集合;
2024-04-17 15:22:32 366 4
原创 Android与iOS的区别
物理按键Android:独有3个物理按键的功能(菜单,主页面,返回)iOS:所有的返回上一层,主要靠页面功能实现安装生产环境:Android:可以通过各个手机自带的应用市场或者是第三方的手机助手进行下载iOS:APP store和iTunes测试环境:Android:开发或者测试将源码打包成apk文件,即可随意安装iOS:可以使用Apple官方平台testflight,或者是开发直接给你安装好系统版本兼容性Android:版本多iOS:版本相比较Android偏少分辨率兼容性。
2023-03-21 16:19:20 242
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人