Android开发(Java/Kotlin)
ihoudf
这个作者很懒,什么都没留下…
展开
-
Kotlin class、data class、object、companion object区别(自己备查)
只供自己查阅一、data class:kotlin中的数据类,只保存一些数据字段,类似于java bean,oc中的model。写法:注意后面是() ,不是{}data class yourClassName( val name: String, val age: Int, val sex: Boolean)二、Class:class...原创 2020-01-16 14:43:00 · 4039 阅读 · 0 评论 -
Android json动画(Lottie)解决:json中有图片、在线预览json动画效果
在线预览json动画效果:https://lottiefiles.com/preview一、bundle gradle中加入lottie包 implementation 'com.airbnb.android:lottie:3.1.0'二、在工程app/src/main/下创建文件夹assets,新建时选择Directory,完整路径就是app/src/main/as......原创 2020-01-14 17:42:06 · 19887 阅读 · 0 评论 -
Kotlin enum枚举
基本写法:比如定义一个弹窗的几种类型,三种类型。class MyDialog : Dialog { enum class Type{ MyDialog_type1, MyDialog_type2, MyDialog_type3 }}使用:在本类使用:Type.MyDialog_type1在别的类使用...原创 2020-01-14 17:00:24 · 292 阅读 · 0 评论 -
Android EditText用法详解
xml属性:android:maxLines="" //最大行数android:maxLength="" //最大字符数android:hint="" //placeholderandroid:textColorHint="" //placeholder的颜色android:drawableLeft="" //加一张图片 对应rightandroid:drawablePaddi...原创 2020-01-07 21:45:32 · 572 阅读 · 0 评论 -
Kotlin 以3秒后退出应用为例,用handler+postDelayed() 实现倒计时
1、初始化三个属性 private var mTime = 3 private var mHandler: Handler = Handler() private val mRunnable: Runnable = object : Runnable { override fun run() { // TODO: 倒计时逻辑...原创 2019-12-31 17:59:56 · 5250 阅读 · 0 评论 -
Android 页面跳转Intent传递list对象 ps:解决报错Parcel: unable to marshal value
传递:ArrayList<ModelInfo> list = new ArrayList<ModelInfo>();ModelInfo model1 = new ModelInfo(name, address);ModelInfo model2 = new ModelInfo(name, address);list.add(model1);list.ad...原创 2019-12-23 15:39:44 · 424 阅读 · 0 评论 -
Android 加载网络图片(#and#使用Glide时设置圆角)
1、使用Glide库加载网络图片 设置圆角var options = RequestOptions.bitmapTransform(RoundedCorners(6))Glide.with(imageView.context).load(item.coverUrl).apply(options).into(imageView)2、一个单利加载网络图片import a...原创 2019-12-20 11:20:41 · 223 阅读 · 0 评论 -
Android 各种代码设置UI样式的奇技淫巧
设置颜色1. tv.setTextColor(Color.parseColor("#000000"));2. tv.setTextColor(getResources().getColor(R.color.black)); //根据资源文件读取颜色3. tv.setTextColor(0xff000000); //不能省略前面两个ff4. tv.setTextColor(Color...原创 2019-12-09 13:54:58 · 593 阅读 · 0 评论 -
Java Calendar详解
package cn.outofmemory.codes.Date;import java.util.Calendar;import java.util.Date;public class CalendarDemo { public static void main(String[] args) { Calendar calendar=Calendar.getInstan...原创 2019-08-21 13:15:28 · 295 阅读 · 0 评论 -
Java 基本数据类型和String相互转化
基本数据类型以double为例。一、String—>Double三种方法:如果String为null或不可转换为double,则此方法也可以抛出NumberFormatException。1)创建了一个新的Double对象。Double有一个构造函数,它需要一个String值,并返回一个具有相同值的Double对象。String str ="104.60";Double ...原创 2019-08-20 12:08:00 · 328 阅读 · 0 评论 -
Java Date Calendar 时间类要知道的相互转化
Calendar详解:https://blog.csdn.net/HDFQQ188816190/article/details/999495451、Date—>字符串以当前时间为例:Date currentTime = new Date();//当前时间SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd ...原创 2019-08-15 17:19:27 · 230 阅读 · 0 评论 -
Java String.format详解
一、前言 String.format作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用String.format("Hello %s", "John");下面将笔记整理并记录下来。二、重载方法 // 使用当前本地区域对象(Locale.g...转载 2017-09-13 17:56:34 · 456 阅读 · 0 评论 -
Kotlin 回调\函数回调(简明!)
一、不同类中的回调1、ClassB定义接口 lateinit var mOnClickListener: (String) -> Unit fun setOnClickListener(listener: (String) -> Unit){ this. mOnClickListener = listener }2、Class...原创 2019-12-04 19:36:25 · 3759 阅读 · 0 评论 -
Kotlin 本地广播
1、发送广播 var intent = Intent("actionName") LocalBroadcastManager.getInstance(Context).sendBroadcast(intent)2、注册广播 LocalBroadcastManager.getInstance(sContext).registerReceiver(receiver, ...原创 2019-12-04 19:25:43 · 1469 阅读 · 0 评论 -
Android(kotlin) 控件随手势移动\\\setOnClickListener和setOnTouchListener冲突解决
Talk is cheap,show you the code private var isMove = false // 是否移动 tv_move.setOnClickListener { if (!isMove){ Log.d("ddd","ddds") } } ...原创 2019-11-27 20:04:38 · 3049 阅读 · 0 评论 -
Android Fragment 生命周期
Fragment每个生命周期方法的意义、作用(注意红色的不是生命周期方法):setUserVisibleHint():设置Fragment可见或者不可见时会调用此方法。在该方法里面可以通过调用getUserVisibleHint()获得Fragment的状态是可见还是不可见的,如果可见则进行懒加载操作。onAttach():执行该方法时,Fragment与Activity已经完成绑定,该方法有...转载 2019-08-06 10:32:48 · 286 阅读 · 0 评论 -
Android 动画(一)补间动画和帧动画
(仅供自己回顾使用。所以可能不是很详细。)**一、补间动画(Tween Animation)**分为:平移<translate>、缩放<scale>、旋转<rotate>、透明度<alpha>备注:1、补间动画执行之后并未改变View的真实布局属性值。2、在进行动画的时候,尽量使用dp,因为px会导致适配问题。代码:需要在res下...原创 2019-09-11 14:56:07 · 244 阅读 · 0 评论 -
Android 监听页面里所有TextView(EditView)文字变化。最简洁!!!
如果一个页面有多个TextView或者EditView,需要监听文字变化,如果每个tv或者ev都写一个TextWatcher会让代码看起来很臃肿,可以用下面方法简化代码。1、首先,添加监听{ et1.addTextChangedListener(listener(et1)); et2.addTextChangedListener(listener(et2)...原创 2019-08-28 18:07:46 · 4108 阅读 · 0 评论 -
Android setEnabled(),setClickable()的区别
在android 开发中,设置Enabled,或者Clickable为false都可以取消到view的点击事件。但是,两者之间还是有一定的区别的。 clickable设置点击事件之后,会变成true,如果需要取消点击事件则需要在设置完点击事件之后在设置为false。但是当为false之后,控件不可点击是会往下面继续传递的。 enabled与clickable的关系不大,当enabl...转载 2019-08-28 17:40:35 · 1014 阅读 · 0 评论 -
Android 注解(代替enum)
如果使用了appcompat库,那么Support Annotations就会自动引入进来,因为appcompat使用了Support Annotations,如果没有则需要在build.gradle中添加如下配置:dependencies { compile 'com.android.support:support-annotations:23.4.0'}使用...转载 2019-08-15 20:01:27 · 326 阅读 · 0 评论 -
Android TextView在XML中的属性
一、技巧点1、设置单行,末尾……显示android:maxLines="1"android:ellipsize="end"2、在代码中修改TextView的DrawableRight图片Drawable nav_up=getResources().getDrawable(R.drawable.button_nav_up);nav_up.setBounds(0, 0, nav_...原创 2019-08-20 19:25:11 · 660 阅读 · 0 评论 -
Android 富文本
SpannableString其实和String一样,都是一种字符串类型,SpannableString可以直接作为TextView的显示文本,不同的是SpannableString可以通过使用其方法setSpan方法实现字符串各种形式风格的显示,重要的是可以指定设置的区间,也就是为字符串指定下标区间内的子字符串设置格式。setSpan(Object what, int start, int ...转载 2019-08-19 17:22:33 · 488 阅读 · 0 评论 -
Android 保持图片大小,扩大button点击区域
button图片很小时,点击区域会很小,解决方法:1、使用ImageButton代替Button。使用src加载图片,图片会保持大小加载。而用background加载会铺满按钮大小。然后此时可用padding等属性扩大按钮范围。2、使用 android:scaleType="centerInside"保持图片大小,这个属性只适合ImageView控件<ImageView ...原创 2019-08-14 12:09:31 · 855 阅读 · 0 评论 -
Android 带透明度的颜色转换为色值
用255*透明度值,再转换成16进制的数字。例如:白色透明度60%。用255 * 60% = 153,153转换成16进制为99,所以最后颜色为#99FFFFFF进制转化:http://tool.oschina.net/hexconvert/下面是转化好的透明度转16进制。100% — FF99% — FC98% — FA97% — F796% — F...原创 2019-08-14 11:59:31 · 1114 阅读 · 0 评论 -
adb 命令大全(简洁明了)adb命令启动应用
参考:https://github.com/mzlogin/awesome-adb一、ADB运行原理:当启动adb客户端时,客户端首先检测adb服务端进程是否运行,如果没有运行,则启动服务端。当服务端启动时,它会绑定到本地的TCP5037端口,并且监听从adb客户端发来的命令——所有的adb客户端都使用5037端口与adb服务端通信。接下来服务端与所有正在运行的模拟器或手机连接。它通过扫...原创 2019-08-06 19:18:01 · 16502 阅读 · 1 评论 -
Android 自定义属性时TypedArray的使用方法
有时候android传统的页面布局不足以满足我们的需求,常常需要自己定义view,通常继承View,然后重写构造方法以及onDraw等函数,再具体实现自己定义的复杂view。我们知道在给控件赋属性时,通常使用的是android系统自带的属性,比如 android:layout_height="wrap_content",除此之外,我们亦可以自己定义属性,这样在使用的时候我们就可以使用形如 mya...转载 2019-09-16 13:50:53 · 531 阅读 · 0 评论 -
CPU测试--查看cpu占用率
一、使用命令adb shell top -m 10 -s cpu(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量),如下图:参数含义:PID:progressidentification,应用程序IDS: 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。#THR:程序当前所用的线程数V...转载 2019-09-24 20:07:52 · 1957 阅读 · 0 评论