<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Giousa的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Giousa</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Giousa]]></copyright><item><title><![CDATA[Netty4 Tcp长连接、断开重连、心跳监测、Msgpack编码解码]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/72846303</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/72846303</guid><author>Giousa</author><pubDate>Fri, 02 Jun 2017 17:43:48 +0800</pubDate><description><![CDATA[Netty4 Tcp长连接、断开重连、心跳监测、Msgpack编码解码]]></description><category></category></item><item><title><![CDATA[Netty4框架的初步使用]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/72844890</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/72844890</guid><author>Giousa</author><pubDate>Fri, 02 Jun 2017 16:14:49 +0800</pubDate><description><![CDATA[Netty4的初步使用（直接在AS上运行）]]></description><category></category></item><item><title><![CDATA[RecyclerView+EditText 动态搜索数据]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/68944199</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/68944199</guid><author>Giousa</author><pubDate>Sat, 01 Apr 2017 14:34:59 +0800</pubDate><description><![CDATA[1.创建一个学生类，保存姓名和年龄信息

package com.zmm.recyclerdynamicsearch;

/**
 * Description:
 * Author:zhangmengmeng
 * Date:2017/4/1
 * Time:下午1:11
 */

public class StudentBean {

    private String name;
   ]]></description><category></category></item><item><title><![CDATA[使用SurfaceView加载多张大分辨率图片做帧动画，解决OOM问题]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/53095992</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/53095992</guid><author>Giousa</author><pubDate>Wed, 09 Nov 2016 09:39:42 +0800</pubDate><description><![CDATA[项目需求：动态背景



需求很简单，只是用帧动画做一个动态的背景而已，但若是70多张图片都是1920*1080，一张485k的话，传统意义上的帧动画就很难实现了，往往加载10张就开始OOM。


一般来说，常用的实现动态背景的有效方式有三种：


①视频：果断粗暴，清晰度很有保证，但是在无限轮播重复的时候，总会有一瞬间的卡顿，这真的很让人郁闷。


②GIF动态图：直接]]></description><category></category></item><item><title><![CDATA[动态添加RadioButton并切换Fragment]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/51328768</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/51328768</guid><author>Giousa</author><pubDate>Fri, 06 May 2016 09:37:20 +0800</pubDate><description><![CDATA[公司项目中有这样一个需求，当从网络获取json数据并解析后，动态的添加按钮，点击时切换对应按钮下存储的各种数据。
如下图：


这里只是单单为了动态添加RadioButton而已，所以数据直接用Fragment替换，效果如下：





MainActivity：
package com.ut.radiobuttondynamicadd;

import android.os]]></description><category></category></item><item><title><![CDATA[RadioButton实现Fragment切换]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/51282490</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/51282490</guid><author>Giousa</author><pubDate>Fri, 29 Apr 2016 16:29:32 +0800</pubDate><description><![CDATA[需要实现效果大致如下：






RadioButton切换Fragment最大的好处莫过于界面效果变换非常稳定了。


布局：

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_par]]></description><category></category></item><item><title><![CDATA[Android 3D画廊采用Gallery实现无限循环、自动轮播]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/51260443</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/51260443</guid><author>Giousa</author><pubDate>Wed, 27 Apr 2016 14:24:09 +0800</pubDate><description><![CDATA[公司最近有一个需求，是打算做一个轮播图的展示界面，不过和传统意义上不同，并非是在手机app的顶部展示几张定时切换的固定大小宽高的图片，而是中间长方形，两边向里倾斜，形成对称感的特殊界面，如下图：


需要实现功能：无限循环，自动跳转，倒影效果。
（原本的企划是动画轮播的时候，下面会呈现一条Listview，里面会因为展示的不同界面而呈现不同的内容，但是后面放弃了。）
下面开始上代码：
]]></description><category></category></item><item><title><![CDATA[Android转场动画特效及隐藏Toobar左边间距]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/51202397</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/51202397</guid><author>Giousa</author><pubDate>Wed, 20 Apr 2016 17:21:50 +0800</pubDate><description><![CDATA[1.去除ToolBar左边距：
  修改styles：
  

    
    
        
        @style/ClubToolbar
    

    
        0dp
    





  Activity中使用：
          Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  ]]></description><category></category></item><item><title><![CDATA[隐藏手机下方的底部导航条NavigationBar]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/51073005</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/51073005</guid><author>Giousa</author><pubDate>Wed, 06 Apr 2016 10:59:44 +0800</pubDate><description><![CDATA[需知，在现在的Android项目中，为了布局适配，也为了界面看起来更加简洁大气，App保留了头部标题栏，但是下方的NavigationBar却有点多余。不过当然，因为手机按键很少的缘故，若是没有NavigationBar的话，恐怕就连退出都做不到。
这里，我们隐藏了NavigationBar，不过当手机按住最下方并向上拉的时候，Navigation就会以透明的状态显示出来。这里因为是用真机测试就]]></description><category></category></item><item><title><![CDATA[RecyclerView实现九宫格和点击事件]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/50963225</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/50963225</guid><author>Giousa</author><pubDate>Wed, 23 Mar 2016 14:52:47 +0800</pubDate><description><![CDATA[RecyclerView实现九宫格，点击图片放大，再次点击消失。]]></description><category></category></item><item><title><![CDATA[NavigationView的使用]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/50808880</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/50808880</guid><author>Giousa</author><pubDate>Sat, 05 Mar 2016 14:54:49 +0800</pubDate><description><![CDATA[展示效果：用作侧滑菜单的侧边导航栏。
必须嵌套在DrawerLayout里使用
DrawerLayout包含两个子布局，一个导航栏，另一个为显示的正文

NavigationView的属性：
app:headerLayout，可选项，可以指定一个布局作为导航内容的Header
app:menu，必需项，指定一个menu，作为导航内容的菜单

主布局：




<android.s]]></description><category></category></item><item><title><![CDATA[Snackbar的使用]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/50808807</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/50808807</guid><author>Giousa</author><pubDate>Sat, 05 Mar 2016 14:41:55 +0800</pubDate><description><![CDATA[Snackbar的目的，就是用来代替Toast的。



<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
  ]]></description><category></category></item><item><title><![CDATA[FloatingActionButton的使用]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/50808793</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/50808793</guid><author>Giousa</author><pubDate>Sat, 05 Mar 2016 14:39:32 +0800</pubDate><description><![CDATA[特性：可悬浮在界面上。继承至ImageView。
布局：

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
  ]]></description><category></category></item><item><title><![CDATA[OkHttp的使用]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/50808733</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/50808733</guid><author>Giousa</author><pubDate>Sat, 05 Mar 2016 14:28:25 +0800</pubDate><description><![CDATA[一、OkHttp发起Get请求网络数据


直接上代码：
package com.canary.okhttptest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

import java.io.IOException;

impor]]></description><category></category></item><item><title><![CDATA[TextInputLayout的使用]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/50808716</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/50808716</guid><author>Giousa</author><pubDate>Sat, 05 Mar 2016 14:25:40 +0800</pubDate><description><![CDATA[因为是design包下的，所以需要导包。




TextInputLayout是LinearLayout下的一个子类。public class TextInputLayout extends LinearLayout





布局：





<LinearLayout xmlns:android="http://schemas.android.com/apk/]]></description><category></category></item><item><title><![CDATA[自定义文本选择菜单]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/50808695</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/50808695</guid><author>Giousa</author><pubDate>Sat, 05 Mar 2016 14:22:22 +0800</pubDate><description><![CDATA[TextSelection变更
1.展示效果：对比5.0的文本选择，6.0系统文本选择显示的菜单项可以被修改。
2.创建布局，添加TextView
3.获取TextView对象，注册回调监听
tv.setCustomSelectionActionModeCallBack()
4.自定义类实现监听接口 ActionMode.CallBack2
5.ActionMode.CallBack2]]></description><category></category></item><item><title><![CDATA[AppBarLayout的使用]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/50805639</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/50805639</guid><author>Giousa</author><pubDate>Fri, 04 Mar 2016 21:31:11 +0800</pubDate><description><![CDATA[用AppBarLayout包裹的子view会以一个整体的形式作为AppBar，从而具备统一的风格。



简单来说，只要控件是在AppBarLayout里面，那么就可以把这些控件通通当做标题栏。



以TabLayout和ViewPager的简单联用这个demo的布局为例，略作一下改动：



<LinearLayout xmlns:android="http://sche]]></description><category></category></item><item><title><![CDATA[TabLayout和ViewPager的简单联用]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/50805550</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/50805550</guid><author>Giousa</author><pubDate>Fri, 04 Mar 2016 21:16:34 +0800</pubDate><description><![CDATA[首先是布局：

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent]]></description><category></category></item><item><title><![CDATA[TabLayout的使用]]></title><link>https://blog.youkuaiyun.com/Giousa/article/details/50803151</link><guid>https://blog.youkuaiyun.com/Giousa/article/details/50803151</guid><author>Giousa</author><pubDate>Fri, 04 Mar 2016 15:36:54 +0800</pubDate><description><![CDATA[Design包下的TabLayout，继承至HorizontalScrollView 这个又继承至 FrameLayout。

简单来说，TabLayout就是一个帧布局。





简单来个Demo：




布局：


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android]]></description><category></category></item></channel></rss>