<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hs_73的博客]]></title><description><![CDATA[项目技术分享]]></description><link>https://blog.youkuaiyun.com/hs_73</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hs_73]]></copyright><item><title><![CDATA[动态代码设置Textview的字体大小，引用Dimen资源]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/52596032</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/52596032</guid><author>hs_73</author><pubDate>Tue, 20 Sep 2016 14:53:17 +0800</pubDate><description><![CDATA[xml文件设置Textview字体大小，可直接设置android:textSize="@dimen/common_font_sw320dp_of_13"
但是通过动态代码设置时，通常会遇到引用Dimen文件失效或者文字大小异常的状况，例如下面这2种方式都不对
tvHaveStockAt.setTextSize(context.getResources().getDimension(R.dime]]></description><category></category></item><item><title><![CDATA[scrollview嵌套ExpandableListView、ListView导致显示高度不全]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/52355109</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/52355109</guid><author>hs_73</author><pubDate>Mon, 29 Aug 2016 17:29:11 +0800</pubDate><description><![CDATA[在原理上，和scrollivew嵌套listview高度显示不全是同样的处理办法。
一、自定义一个类继承ListView,重写onMeasure()方法，计算listview的高度。
public class CustomExpandableListView extends ExpandableListView {

    public CustomExpandableListView(Co]]></description><category></category></item><item><title><![CDATA[as使用git@oschina]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/52238141</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/52238141</guid><author>hs_73</author><pubDate>Thu, 18 Aug 2016 10:10:01 +0800</pubDate><description><![CDATA[下载Git,安装

在AS中设置Git
在Settings -> Version Control -> Git -> Path to Git executable 中填上你安装的 git.exe的路径

 设置好了以后，点击后面的Test，如果弹出如下框，则Git关联成功

    

在OSC git中新建一个项目
此项目为空，等下会在AS中将工程导入此项目，项目中不要建立R]]></description><category></category></item><item><title><![CDATA[提高app响应速度]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/51775396</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/51775396</guid><author>hs_73</author><pubDate>Tue, 28 Jun 2016 13:48:08 +0800</pubDate><description><![CDATA[一个是响应速度，要保证界面之间跳转的时候没有延迟，也就是说要保证onClick之后，


1. Activity/Fragment的onPause()方法不会占用主线程太多时间
2. onClick()事件里面不要写耗时的操作,尽量放在
3. 新的Activity的create、start、resume等生命周期函数不要占用太多时间
耗时操作可以等界面初始化好之后再去做，这样才能保证响]]></description><category></category></item><item><title><![CDATA[记录app通过蓝牙连接小票打印机的坑]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/51281345</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/51281345</guid><author>hs_73</author><pubDate>Fri, 29 Apr 2016 13:58:53 +0800</pubDate><description><![CDATA[试了好几台5.0以下版本的测试机，发现可正常通过蓝牙连接打印机，我就以为大功告成了，结果测试的时候，在锤子手机上一打开app就崩溃了。。。
报错信息：
IllegalArgumentException: Service Intent must be explicit: Intent
这句话是说，服务必须是显式启动。这是Android 5.0的一个新特性，也就是说从5.0开始，service服]]></description><category></category></item><item><title><![CDATA[listview倒计时]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/50911607</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/50911607</guid><author>hs_73</author><pubDate>Thu, 17 Mar 2016 10:39:59 +0800</pubDate><description><![CDATA[记录一个我花了较长时间解决的一个需求，在listview的每个item里加上倒计时，精确到秒，具体看图


这只是有一个item的时候有倒计时，当这里有好几个倒计时，并且每个时间都不一样，很容易想到会出现的问题：
1.倒计时显示不准确
2.由于listview的getView方法里会复用convertView导致每次滑动listview时，数据混乱，尤其是，第二页的item会复用第一页的]]></description><category></category></item><item><title><![CDATA[应用切换到后台一段时间再切回来会崩溃]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/50911133</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/50911133</guid><author>hs_73</author><pubDate>Thu, 17 Mar 2016 10:02:57 +0800</pubDate><description><![CDATA[后期测试的时候，发现有个偶然现象，当应用被切换到后台一段时间再切换回来的时候会莫名的崩溃，而且在log的错误信息，云测以及友盟的错误列表上都没有发现有错误日志输出。确实是比较棘手，但这确实是应用的bug，无法忽视，但是这个问题又无法很容易的重现。后期查找资料分析一下，可能是跟这几个原因有关：
1.没有很正确的理解getContext() , getActivity() ,Activity.thi]]></description><category></category></item><item><title><![CDATA[MediaPlayer--点击按钮，播放语音]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/50910745</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/50910745</guid><author>hs_73</author><pubDate>Thu, 17 Mar 2016 09:28:03 +0800</pubDate><description><![CDATA[项目中有个需求是，点击button按钮，加载网络语音并且播放，之前没用过MediaPlayer，但是需求很简单，也不是很难，在此记录一下，第一次用MediaPlayer.
 1.首先在布局中放一个button按钮，id=btn_playVioce_o，可以给按钮加上文字，例如仿微信那种“ 7' ”显示语音的长度,布局很简单，这里就不放demo了
  
2.初始化MediaPlayer
  ]]></description><category></category></item><item><title><![CDATA[listview滑动卡顿]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/50910629</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/50910629</guid><author>hs_73</author><pubDate>Thu, 17 Mar 2016 09:13:40 +0800</pubDate><description><![CDATA[listview滑动卡顿，网上搜索了一下原因有很多，排除了一下，最后发现和图片加载相关。一开始是自己自定义了一个Cache类，用来缓存图片，最后发现这样做的效率并不高，不如用ImageLoader,下面贴代码
 1.在adapter里
  
private List mList=new ArrayList<>();

    private Context context;
    Imag]]></description><category></category></item><item><title><![CDATA[scrollView嵌套listview时，listview高度问题]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/50906876</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/50906876</guid><author>hs_73</author><pubDate>Wed, 16 Mar 2016 17:25:58 +0800</pubDate><description><![CDATA[项目中有的时候会遇到scrollView嵌套listview,我遇到的问题是，最多只显示两条数据，这里给出我的解决办法：
  1.在给listview设置adapter之后，后面加一句：
setListViewHeightBasedOnChildren(listview);//设置listview的高度按照其孩子的高度 
  2.setListViewHeightBasedOnChildre]]></description><category></category></item><item><title><![CDATA[EditText未选中时，自动隐藏键盘]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/50904601</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/50904601</guid><author>hs_73</author><pubDate>Wed, 16 Mar 2016 14:05:36 +0800</pubDate><description><![CDATA[当点击非EditText的区域，自动隐藏键盘，只需要在Activity或者Fragment中把这两个方法加上就行
 /**
     * 通过dispatchTouchEvent每次ACTION_DOWN事件中动态判断非EditText本身区域的点击事件，然后在事件中进行屏蔽。
     * @param ev
     * @return
     */

    @Override
    ]]></description><category></category></item><item><title><![CDATA[MaterailDesign风格的日历，MaterailCalendarView]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/50904464</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/50904464</guid><author>hs_73</author><pubDate>Wed, 16 Mar 2016 13:45:31 +0800</pubDate><description><![CDATA[日历控件有很多，但是如果要实现在日历上标注文字或者图片，该如何实现呢，小菜鸟一枚，下面写写我在项目里用到的一个控件--MaterialCalendarView, 基于MaterailDesign风格De日历，据说最早是由外国人写的，然后开源出来了，之所以会选中这个是他可以较方便的在日历上添加标记，而且MaterailDesign风格的很受大家好评，做项目的时候网上找了好些资料，也找了发过类似帖子的]]></description><category></category></item><item><title><![CDATA[涂鸦，Canvas绘图]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/50903010</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/50903010</guid><author>hs_73</author><pubDate>Wed, 16 Mar 2016 10:42:57 +0800</pubDate><description><![CDATA[公司的项目里有一个功能是，用户有个涂鸦签字的功能，需要再白色面板上涂鸦，然后上传到又拍云，把又拍云返回的图片url通过post请求上传到服务器。摸索了一段时间，完成了这个功能，并且实现的不错。下面贴出截图跟部分demo:
       
上传到又拍云的那部分demo就不贴了，涉及到很多图片url定义规则还有项目隐私的东西，只贴到 保存图片到本地的，后面上传图片就是很简单啦！
1.自定义的Im]]></description><category></category></item><item><title><![CDATA[自定义RatingBar]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/50902759</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/50902759</guid><author>hs_73</author><pubDate>Wed, 16 Mar 2016 10:19:40 +0800</pubDate><description><![CDATA[自定义Ratingbar,有两种，一种是可供用户选择，另一种是仅显示功能，拒绝操作
一.用户自选星星数
1.布局文件：
<RatingBar
                android:id="@+id/rb_ratingbar_o"
                style="?android:attr/ratingBarStyle"
                android:]]></description><category></category></item><item><title><![CDATA[带清除按钮的EditText,自动清除输入]]></title><link>https://blog.youkuaiyun.com/hs_73/article/details/50902574</link><guid>https://blog.youkuaiyun.com/hs_73/article/details/50902574</guid><author>hs_73</author><pubDate>Wed, 16 Mar 2016 10:02:49 +0800</pubDate><description><![CDATA[自定义EditText,带清除按钮，未输入时，隐藏清除按钮，有输入时自动显示清除按钮
1.自定义一个EditText

public class ClearEditText extends EditText implements OnFocusChangeListener,
      TextWatcher {
   /**
    * 删除按钮的引用
    */
   private ]]></description><category></category></item></channel></rss>