- 博客(33)
- 收藏
- 关注
原创 【小程序】日历
wxml<view class="date"> <image class="direction" src="../../../images/icon_direction_left.png" bindtap='minusMouth'/> <label>{{year}}年{{mouth}}月</label>
2018-07-10 14:12:45
1430
原创 【小程序】wxss样式记录
文本溢出 display: -webkit-box; overflow: hidden; -webkit-line-clamp: 5; -webkit-box-orient: vertical;
2018-07-06 09:42:32
448
原创 Android 图片选择器
多选 单选 主要功能图片缩放图片裁剪支持单选和多选可修改裁剪框大小可修改选择器列数使用观察者模式返回图片集合可自定义定义图片加载框架(Gilde、Picasso) 可自定义定义选择器顶部toolbar的背景色使用方式在项目目录下build.gradle中添加 allprojects { repositories ...
2018-06-28 10:42:12
956
1
原创 Android 7.0以上安装APK的问题
创建一个类继承FileProvider。在Androidmanifest中注册这个类;<provider android:name=".***.MyFileProvider" android:authorities="${applicationId}.fileprovider" android:exported="false" an...
2018-06-07 14:57:27
1034
原创 【IM】网易lM聊天列表UI
对于一个初学者来说,如何优雅的写好一个聊天消息列表是非常麻烦的事情,刚开始使用网易云demo中的UI库,但是该库特别沉重,就其中一些群,聊天室来说。我们可能是不需要的,引入进来就会增加apk的大小。后来我引用github上的一些开源库来实现,后来因为一些需求要更改,也特别麻烦,就有了自己写的想法。 设计思想简单说一下该demo的设计思想,其实和大部分列表显示不同类型的Item差不多,...
2018-03-22 14:30:34
2372
原创 【Kotlin】自定义View(二)
这次学习了Path的基本用法,文章后面有一个小练习,是画一个蜘蛛网,用于显示一个对象的属性的功能,先上一个图。要画这个图之前先分析一下这个图一个N正边形的底层一条连接中心点和顶点的线每个顶点有文字内容遮罩层蓝色区域这块蓝色区域的顶点画的圆点第一步/** - 画蜘蛛网*/private fun setDrawCobweb(canvas: Canvas) {
2018-01-25 17:38:02
762
原创 【Kotlin】自定义View(一)
关于kotlin基础语法知识可以在菜鸟教程上学习。整个界面的具体逻辑分析Android 弧形ViewPager 和弧形HeaderView这篇博客@SuppressLint("ViewConstructor")class PerfectArcView(context: Context, @ColorInt private var startColor: Int, @Color
2018-01-25 12:00:43
5039
原创 Android 竖排的TextView
因为要做一个竖着显示文字的TextView,然后就在网上找了找,都是说用一个LinearLayout来垂直排列多个TextView,我就觉得这样的话如果有很多文字的话,就会造成性能上的影响,所以我就按照自己的思路来。找到TextView的写入内容的方法重写该方法在内容写入之前我们把内容跨行竖着输入进去按照这个思路来,找到我们经常使用的setText()。全部代码publ
2018-01-24 14:10:03
697
原创 Timer定时器工具类
一个简单的定时器功能,有一个对外的接口让外部调用,public class TimerHelper { private String TAG = "TollTimerHelper"; private OnTimerListener helperListener; private int mSchedule = 0; private Timer mTimer;
2018-01-24 13:44:47
931
原创 Android视频播放的工具类
在Android中音视频播放都可以使用MediaPlayer来进行处理。我使用的是SurfaceView 作为载体进行播放视频,还有其他的VideoView也是可以播放的,区别我就不说啦,网络上有很多。简单的来说播放音视频文件只需要两步第一步首先创建MediaPlayer实例,设置SurfaceView的管理类SurfaceHolder,为视频播放做准备, mPlaye
2018-01-22 17:58:18
988
原创 EditText之密码显示明文的输入框
输入框使用之前文章中的可删除的输入框,可删除的输入框public class CusPwdEditText extends RelativeLayout { private Context mContext; private boolean isVisi = true; private ImageView visiImage; private CusDeleteEditT
2017-10-11 11:47:42
357
原创 EditText之显示输入字符数量的输入框
首先分析一下上图,一个边框,输入框大小和边框大小差不多,背景应该是个白色的,右下角有显示,你正在输入的字符数量。public class CusNumEditText extends FrameLayout { private Context mContext; private TextView mNumText; private EditText mEdText; p
2017-09-29 17:59:48
1380
原创 EditText之有删除按钮的输入框
有图有真相,不知道为啥会有水印。 public class CusEditView extends android.support.v7.widget.AppCompatEditText { //EditText右侧的删除按钮 private Drawable mDeleteDrawable; private Context mContext; public CusEd
2017-09-22 13:58:09
477
原创 BaseActivity封装
我在我的项目中使用了mvp模式来进行开发,封装了BaseActivity,由于是mvp的模式所以会和普通的不一样,但是一些普通的Activity是不需要persenter来进行解耦, 我们先看看普通的基类,UIActivitypublic abstract class UiActivity extends AppCompatActivity { public Context mContex
2017-09-15 10:29:56
498
原创 optString和getString区别
Json解析网络数据时,获取数据的两个方法optString和getString;使用optString获取数据时,即使后台服务器没有发送这个字段过来,他也不会报JSONObject异常; getString获取的字段如果没有传过来,则会报JSONObject异常。
2017-08-25 13:51:12
10152
原创 design点击波纹效果
在gradle中引用designcompile 'com.android.support:design:25.2.0'然后在想要波纹效果的layout中设置属性android:background="?attr/selectableItemBackground"android:foreground="?attr/selectableItemBackground"
2017-07-31 10:51:21
227
原创 RecyclerView.Adapter结合ButterKnife封装
public class BaseViewHolder extends RecyclerView.ViewHolder { View mView ; public BaseViewHolder(View itemView) { super(itemView); this.mView=itemView; } public View getVi
2017-05-02 18:32:02
1906
原创 动画之卫星菜单
public class JointAnimActivity extends AppCompatActivity { @BindView(R.id.but_start_anim) Button butStartAnim; @BindView(R.id.ciol) Button ciol; @BindView(R.id.but_menu1) Button
2017-04-24 17:55:16
267
原创 自定义标题栏
我们要给界面添加自己标题栏,就得先把系统存在的标题栏隐藏掉,找到values文件夹下的styles.xml,在其中添加 <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</i
2017-04-24 17:37:51
410
原创 图片质量压缩笔记
/** * 根据路径压缩图片上传 * @param path * @param imageSize * @param reqWidth * @param reqHeight * @return */ public static Bitmap compressImage(String path,int imageSize,i
2017-03-08 15:12:00
285
原创 Android ListView,RecyclerView滑动标题渐变
ListView: //ListVie滑动触动的接口 public AbsListView.OnScrollListener onScrollListener = new AbsListView.OnScrollListener() { @Override public void onScro
2017-02-13 17:46:06
811
原创 android.os.NetworkOnMainThreadException异常解决
请求网络操作如果在主线程中,将会抛出此异常。Android这个设计是为了防止网络请求时间过长而导致界面假死的情况发生。 所以将网络请求操作放在Thread中来请求。
2017-01-10 11:30:58
315
原创 EditText 软键盘默认隐藏,点击外部隐藏
默认隐藏 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);点击外部隐藏 /** * 获取当前点击位置是否为输入框 * @param view 焦点所在View * @param event 触摸事件 * @return */
2017-01-06 17:08:28
365
原创 MVP模式学习笔记
MVP的三层View层: 对应于Activity/Fragment,负责View的绘制以及与用户交互Presenter层: 负责完成View与Model间的交互Model层: 实体模型、与数据进行交互,对数据进行加工处理第一步:定义两个基类,这两个接口分别是所有View和Presenter的基类: BaseView和BasePresenter。BaseView中主要定义一些通用的界面方法,
2016-12-02 18:48:25
295
原创 Android Studio 打包语言报错 is not translated
“title_widget_updater_service” is not translated in de, en, en-rUS今天使用Studio打包遇到这么个问题,是语言检查的问题,有些语言包多了缺了之类的,但是有时明显你是不需要其他语言包的。 那么怎么解决呢? 在字符资源下添加这么两个属性,就可以了 xmlns:tools=”http://schemas.android.com/to
2016-06-03 14:09:32
497
原创 设置图片渐变
LinearGradient lg=new LinearGradient(0,0,width,height,Color.RED, Color.BLUE,Shader.TileMode.MIRROR);paint.setShader(lg);canvas.drawCircle(0,0,200,paint);
2016-05-18 17:46:27
371
原创 学习鸿洋大神的自定义View(一)的笔记
①初步明白Rect Rect.width(),这个方法是获取控件中内容的宽度,height()获取控件内容的高度;②当xml文件中的宽高设为wrap_content时,要自己,获取内容的宽高,来计算背景的宽度和高度,我们需要自己进行测量控件大小时,即重写onMesure方法”: MeasureSpec的specMode,一共三种类型: EXACTLY:一般是设置了明确的值或者是MATCH_PA
2016-05-12 18:42:38
917
3
原创 Parcelable encountered IOException writing serializable 问题解决
遇到这个问题已经好几天,在网上查资料看代码,搞了好久,今天又拿出来,在简书上看到一个大神的文章,终于解决掉了; 地址:http://www.jianshu.com/p/3da56fdca7c8
2016-04-26 12:02:46
4356
原创 Android studio 获取应用签名
今天做微信分享,需要应用签名,在AS中打开最下面的Terminal, 在里面输入 "C:\Program Files\Java\jre1.8.0_77\bin\keytool.exe" -list -v -keystore "C:\Users\sunset\.android\debug.keystore" 然后点击回车,会让你输入密钥库口令,直接输入android即可,
2016-04-22 16:19:58
4698
原创 onCreate中获取控件宽高等于0的解决办法
int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); IV_
2016-01-25 12:25:57
314
原创 获取标题栏和状态栏的高度
int titleBarHeight; @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); Rect frame = new Rect(); getWindow().getD
2016-01-25 12:19:01
1921
原创 【IM】极光简单的聊天测试
配置AndroidManifest.xml <permission android:name="在极光注册的包名.permission.JPUSH_MESSAGE" android:protectionLevel="signature" /> <!-- Required 一些系统要求的权限,如访问网络等 --> &l...
2016-01-22 12:37:37
12079
8
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-01-22 12:12:07
232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人