<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[＞眺望未来-]]></title><description><![CDATA[每天进步一丢丢]]></description><link>https://blog.youkuaiyun.com/hy_programmer</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hy_programmer]]></copyright><item><title><![CDATA[文章标题]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/56501240</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/56501240</guid><author>hy_programmer</author><pubDate>Wed, 22 Feb 2017 21:41:48 +0800</pubDate><description><![CDATA[该篇参考资料recycleview讲解1recycleview讲解2一、做一个recyclerview的万能适配器贴源码++viewholder++package com.example.hy.test.recyclerview;import android.support.v7.widget.RecyclerView;
import android.util.SparseArray;
import]]></description><category></category></item><item><title><![CDATA[Glide源码解析]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/56499338</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/56499338</guid><author>hy_programmer</author><pubDate>Wed, 22 Feb 2017 21:33:26 +0800</pubDate><description><![CDATA[一、缓存

内存缓存和磁盘缓存都用了LRUcache算法

LRUcache算法

实现原理：内部维护了一个LinkedHashMap

LinkedHashMap的构造方法：
//loadFactor为加载因子，默认是3/4，其实该参数并没有并用到，只要传入大于0的float值即可
//accessOrder如果为true，则表示按最近访问顺序排序；false表示按插入顺序排序]]></description><category></category></item><item><title><![CDATA[颜色选择条 水平条状]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/49071589</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/49071589</guid><author>hy_programmer</author><pubDate>Mon, 12 Oct 2015 11:50:57 +0800</pubDate><description><![CDATA[public class ColorSelectBar extends View {

    //控件的高度
    private int mBarHeight;
    //控件的宽度
    private int mBarWidth;
    //定义画笔
    private Paint paint;
    //圆圈的半径
    private int mBarPointerRa]]></description><category></category></item><item><title><![CDATA[canvas.save() canvas.restore() 作用]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/48370167</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/48370167</guid><author>hy_programmer</author><pubDate>Fri, 11 Sep 2015 11:22:43 +0800</pubDate><description><![CDATA[暂时先看此博客,待以后再研究

这里canvas.save();和canvas.restore();是两个相互匹配出现的，作用是用来保存画布的状态和取出保存的状态的。这里稍微解释一下，

  当我们对画布进行旋转，缩放，平移等操作的时候其实我们是想对特定的元素进行操作，比如图片，一个矩形等，但是当你用canvas的方法来进行这些操作的时候，其实是对整个画布进行了操作，那么之后在画布上的元素]]></description><category></category></item><item><title><![CDATA[Android 开源库获取途径整理]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/48340659</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/48340659</guid><author>hy_programmer</author><pubDate>Thu, 10 Sep 2015 11:16:08 +0800</pubDate><description><![CDATA[Android 开源库获取途径整理


介绍目前收藏 Android 开源库比较多的 GitHub 项目、网站、Twitter、App 及如何获取最新的 Android 开源库。

1. GitHub

Android 开源项目汇总
Android 优秀开源项目实现原理解析
把这两个放在前面，是因为这两个项目我和一群小伙伴在精心维护，同时任何人都可以提交 PR 参与进来。其他网站]]></description><category></category></item><item><title><![CDATA[android自定义正方形的imageview和textview]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/48137807</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/48137807</guid><author>hy_programmer</author><pubDate>Mon, 31 Aug 2015 18:20:18 +0800</pubDate><description><![CDATA[直接贴代码：
自定义正方形的imageview
public class SquareImageView extends ImageView {

	public SquareImageView(Context context) {
		super(context);
	}

	public SquareImageView(Context context, AttributeSet attrs]]></description><category></category></item><item><title><![CDATA[SingleLine 模式的标签云效果，仿知乎问题话题列表]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/48132275</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/48132275</guid><author>hy_programmer</author><pubDate>Mon, 31 Aug 2015 14:47:26 +0800</pubDate><description><![CDATA[最近因为项目需要，实现了仿知乎话题列表的singleline标签云效果，而因为项目紧张，并没有参考第三方的实现，并且发现效果也还不错。
我们先来看知乎的效果：


首先，我们需要创建一个viewgroup类作为容器，（我这里用Linerlayout来实现）来包含这些需要显示的标签。
在布局文件中定义这个viewgroup类：
<LinearLayout
        android:]]></description><category></category></item><item><title><![CDATA[连续按两次返回键 退出应用]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44157769</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44157769</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 17:59:54 +0800</pubDate><description><![CDATA[private static long back_pressed;
    
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_BACK) {
     if ((System.currentTimeMillis() - back_pressed)]]></description><category></category></item><item><title><![CDATA[android创建桌面图标]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44157701</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44157701</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 17:52:23 +0800</pubDate><description><![CDATA[private void setDeskShortCut() {
		boolean installedshortcut = sp.getBoolean("installedshortcut", false);
		if (installedshortcut) {
			return;
		}
		//创建一个快捷方式的意图
		Intent intent = new Intent(
				"c]]></description><category></category></item><item><title><![CDATA[Acitivity 之间界面切换动画]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44157567</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44157567</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 17:39:40 +0800</pubDate><description><![CDATA[activity 之间跳转，默认效果是很生硬的。可以添加跳转动画。
关键代码是在activity的finish()方法或者startActivity()方法后添加如下代码：
overridePendingTransition(进入动画的资源文件id, 出去动画的资源文件id); 如：R.anim.in;R.amim.out
举例：
1.从右往左进入：

<translate xmlns:]]></description><category></category></item><item><title><![CDATA[版本升级实现代码 点击下载安装 并在通知栏显示]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44157341</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44157341</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 17:24:05 +0800</pubDate><description><![CDATA[private void loadNewApp() {
        String loadurl = "http://.........";//文件的网络路径
        final String store = "/sdcard"
                + "/apkname" + new Random(127) + UserUtils.getRoundChar(6) + ".]]></description><category></category></item><item><title><![CDATA[listview中显示两种不同的item]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44156249</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44156249</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 16:21:45 +0800</pubDate><description><![CDATA[1.listview的适配器中getCount()方法返回的数字，需要在原有的数据上+1；
@Override
    public int getCount() {
        return list.size() + 1;
    }


2.重写getViewTypeCount()方法和getItemViewType()方法
    @Override
    public i]]></description><category></category></item><item><title><![CDATA[android 属性动画 AnimatorSet的使用]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44156033</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44156033</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 16:07:52 +0800</pubDate><description><![CDATA[AnimatorSet  set = new AnimatorSet();//初始化set.play(ObjectAnimator.ofFloat(sv_first,//需要设置动画的控件
         "translationY",//设置什么动画，此处是 y轴方向的位移动画
          0f,//起始的位置
          -UIUtils.dip2px(480)));//结束]]></description><category></category></item><item><title><![CDATA[android 震动效果]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44155837</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44155837</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 15:58:26 +0800</pubDate><description><![CDATA[Vibrator vibrator= (Vibrator) getSystemService(VIBRATOR_SERVICE);//初始化
long[] pattern={200,200,500,500,800,800};//设置震动的频率
vibrator.vibrate(pattern,-1);


添加权限：android.permission.VIBRATE]]></description><category></category></item><item><title><![CDATA[EditText实现抖动效果]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44155343</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44155343</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 15:30:43 +0800</pubDate><description><![CDATA[1.在anim文件夹创建两个文件


shake.xml文件：

<!-- Copyright (C) 2007 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except]]></description><category></category></item><item><title><![CDATA[Android SQLite 数据库简单使用]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44154615</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44154615</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 14:33:32 +0800</pubDate><description><![CDATA[1.基本Sql语句

创建表
        createtable person(
               idinteger primary key autoincrement,      
               namevarchar(20),
               ageinteger
        );
增
       insert into ]]></description><category></category></item><item><title><![CDATA[网络加载图片时显示错位的解决方法]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44153893</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44153893</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 13:39:57 +0800</pubDate><description><![CDATA[1.图片错位产生原因：
使用listview或者recycleview时，这两个空间内部的复用机制，再加上异步获取图片。会导致图片显示错位。


图片加载是异步任务，通过网络，访问服务器并拿到图片资源的时间是不定的，并且这个任务不在主线程中执行。
在异步访问网络的过程中，listview或者recycleview可能已经滑动，原先的convertview被复用，且被复用的convertv]]></description><category></category></item><item><title><![CDATA[TextView加载html标签,实现textview字体颜色随机变化]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44153759</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44153759</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 13:26:19 +0800</pubDate><description><![CDATA[String text = "独具定制才够时髦";
tv_title.setText(Html.fromHtml(text));


实现效果：]]></description><category></category></item><item><title><![CDATA[自定义Toast]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44153583</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44153583</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 13:09:47 +0800</pubDate><description><![CDATA[1.在xml文件中定义一个布局
如：

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_centerInParent="true"
android:id="@+id/toast_by_text"
android:layout_width="wrap_content"
andr]]></description><category></category></item><item><title><![CDATA[Android Studio 打多渠道包]]></title><link>https://blog.youkuaiyun.com/hy_programmer/article/details/44153405</link><guid>https://blog.youkuaiyun.com/hy_programmer/article/details/44153405</guid><author>hy_programmer</author><pubDate>Mon, 09 Mar 2015 12:44:17 +0800</pubDate><description><![CDATA[最近，公司的项目开始使用谷歌官方最新推出的IDE——Android Studio 1.0，发现使用studio打渠道包很容易。




下面以友盟统计为例。


第一步，在项目中的androidmanifest文件中，原本是这么配置的

                 



[html] view
 plaincopy






meta-data]]></description><category></category></item></channel></rss>