- 效果 前言 先来看一下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/08/04 周二 19:00-20:00
林华鼎-华为云AI开发者运营负责人
从入门 · 到做AI应用 · 到企业级开发。不教编程,只教用AI · 零代码、有产出、能带走、可炫耀 · 每课人人动手实操
回顾中 -
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中
热门标签