- 效果 前言 先来看一下MaterialButton是什么 由上图可以看到MaterialButton也没有什么神秘的,不过是Button的一个子类而已,但是经过谷歌的封装之后,在符合Materi... 效果 前言 先来看一下MaterialButton是什么 由上图可以看到MaterialButton也没有什么神秘的,不过是Button的一个子类而已,但是经过谷歌的封装之后,在符合Materi...
- 效果图: 1.布局 <RatingBar android:id="@+id/ratingbar" android:layout_width="wrap_content" android:layout_height="wrap_content" androi... 效果图: 1.布局 <RatingBar android:id="@+id/ratingbar" android:layout_width="wrap_content" android:layout_height="wrap_content" androi...
- DatePickerDialog其实就是把CalendarView封装进Dialog中了,调用起来更方便快捷。 显示 mBtn.setOnClickListener(new View.OnCl... DatePickerDialog其实就是把CalendarView封装进Dialog中了,调用起来更方便快捷。 显示 mBtn.setOnClickListener(new View.OnCl...
- 早都想撸一个demo出来总结一下加深理解的,也想搞的深入一点,但是发现越深入反而越不好总结,只好先作罢,所以目前本文只是简单事例(大佬跳过)。 MVP 简化Activity,以接口的方式实现M层... 早都想撸一个demo出来总结一下加深理解的,也想搞的深入一点,但是发现越深入反而越不好总结,只好先作罢,所以目前本文只是简单事例(大佬跳过)。 MVP 简化Activity,以接口的方式实现M层...
- 效果图: 【注意】Demo已更新到最新版本,并稍作调整。(2019-07-05) 之前出过一篇 Android 选择图片、上传图片之ImagePicker,这个是okgo作者出的,就一般需... 效果图: 【注意】Demo已更新到最新版本,并稍作调整。(2019-07-05) 之前出过一篇 Android 选择图片、上传图片之ImagePicker,这个是okgo作者出的,就一般需...
- 这个需求来自于动态向LinearLayout中添加子View,在使用权重的情况下,原先的layout_weight值肯定是要修改的 所以便需要动态修改layout_weight。 原理很简单,就是借助LayoutParams给这个子View设置weight即可。 代码: mView.setLayoutParams(... 这个需求来自于动态向LinearLayout中添加子View,在使用权重的情况下,原先的layout_weight值肯定是要修改的 所以便需要动态修改layout_weight。 原理很简单,就是借助LayoutParams给这个子View设置weight即可。 代码: mView.setLayoutParams(...
- 一、集成三方库PermissionsDispatcher 1.添加依赖 a. project目录下的build.gradle文件 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'b. app目录下的build.gradle文件 com... 一、集成三方库PermissionsDispatcher 1.添加依赖 a. project目录下的build.gradle文件 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'b. app目录下的build.gradle文件 com...
- Android 7.0及以上PopupWindow的位置会显示不正常,背景阴影可能也会不正常,需要动态计算高度。 //popupWindow 适配7.0及以上系统显示问题 ... Android 7.0及以上PopupWindow的位置会显示不正常,背景阴影可能也会不正常,需要动态计算高度。 //popupWindow 适配7.0及以上系统显示问题 ...
- /storage/emulated/0/… 手机内部存储路径 mEditText.setKeyListener(null); EditText设置不可编辑,比focusable、enable更粗暴 ... /storage/emulated/0/… 手机内部存储路径 mEditText.setKeyListener(null); EditText设置不可编辑,比focusable、enable更粗暴 ...
- 在变量前面加一个小写的m,是google开发规范之一。 快速生成成员变量的快捷键是Ctrl+Alt+f 首先,在设置中修改代码风格 然后,以ButterKnife为例 在变量前面加一个小写的m,是google开发规范之一。 快速生成成员变量的快捷键是Ctrl+Alt+f 首先,在设置中修改代码风格 然后,以ButterKnife为例
- 以友盟推送为例,PushAgent报错,找不到 com.umeng.message.PushAgent, 在as3.0+的版本之后,引用的方式 compile 变为 implementation, ... 以友盟推送为例,PushAgent报错,找不到 com.umeng.message.PushAgent, 在as3.0+的版本之后,引用的方式 compile 变为 implementation, ...
- 随着项目越来越大,Android Studio的编译速度也越来越慢,一般项目几分钟甚至十几分钟,一天中等待编译至少需要30分钟到两个小时,这大大降低了开发效率,而且有时候只是改了一行代码而已,显然这么浪费时间并不是我们的初衷,相信也有很多人有同样的烦恼,于是在Stack Overflow上面找到答案,下面来提升项目的编译速度。 Sta... 随着项目越来越大,Android Studio的编译速度也越来越慢,一般项目几分钟甚至十几分钟,一天中等待编译至少需要30分钟到两个小时,这大大降低了开发效率,而且有时候只是改了一行代码而已,显然这么浪费时间并不是我们的初衷,相信也有很多人有同样的烦恼,于是在Stack Overflow上面找到答案,下面来提升项目的编译速度。 Sta...
- 配置参考:https://blog.csdn.net/yechaoa/article/details/78469539 APP拉起小程序 private void launchMini... 配置参考:https://blog.csdn.net/yechaoa/article/details/78469539 APP拉起小程序 private void launchMini...
- 1.打开settings》system settings》updates,点击右边check now 2.选择update and restart 3.然后开始下载 4.重新打开,输入密码,这个密码就是你之前给as设置的密码,就是打包时用到的那个密码 5.然后编译会提示jdk... 1.打开settings》system settings》updates,点击右边check now 2.选择update and restart 3.然后开始下载 4.重新打开,输入密码,这个密码就是你之前给as设置的密码,就是打包时用到的那个密码 5.然后编译会提示jdk...
- android中判断控件是否为空的地方非常之多,比如登录注册,只要是需要填写东西的地方基本上都需要判空。 难度不大,但是代码相对冗杂,如果集成框架的话就相对简单多了。 1.添加依赖 compile 'com.mobsandgeeks:android-saripaar:2.0.3' 2.布局 <?x... android中判断控件是否为空的地方非常之多,比如登录注册,只要是需要填写东西的地方基本上都需要判空。 难度不大,但是代码相对冗杂,如果集成框架的话就相对简单多了。 1.添加依赖 compile 'com.mobsandgeeks:android-saripaar:2.0.3' 2.布局 <?x...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签