Skip to content

Instantly share code, notes, and snippets.

View brucetoo's full-sized avatar
🎧
Visualization

Bruce too brucetoo

🎧
Visualization
View GitHub Profile
@brucetoo
brucetoo / OnLastItemVisibleListener.java
Last active November 11, 2015 09:09
RecyclerView滚动到最底部的监听-可见gist(PullToRefresh框架支持Recyclerview)
public static abstract class OnLastItemVisibleListener extends RecyclerView.OnScrollListener implements OnScrollToBottomListener {
private String TAG = getClass().getSimpleName();
public enum LAYOUT_MANAGER_TYPE {
LINEAR,
GRID,
STAGGERED_GRID
}
@brucetoo
brucetoo / PagerSlidingTabStrip.java
Last active October 29, 2015 11:48
支持图片和文字同时支持的情况.具体使用selector必须有 state_selected 属性,不能有state_enable属性
/*
* Copyright (C) 2013 Andreas Stuetz <andreas.stuetz@gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
@brucetoo
brucetoo / BallTrianglePathIndicator.java
Created October 27, 2015 06:49
解释如何把一个看似复杂的动画具体化处理
package com.wang.avi.indicator;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.animation.LinearInterpolator;
import com.nineoldandroids.animation.ValueAnimator;
/**
* Created by Jack on 2015/10/19.
@brucetoo
brucetoo / dexDevDebug.txt
Created October 13, 2015 10:49
dexDevDebug的一个问题的简单解决方案
Execution failed for task ':CCVoice:dexDevDebug'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process dk1.7.0_75.jdk/Contents/Home/bin/java'' finished with non-zero exit value 3
只需要在 build.gradle中加入
dexOptions {
jumboMode true
javaMaxHeapSize "4g" //加大内存分配
}
@brucetoo
brucetoo / proguard-rules.pro
Last active October 13, 2015 06:38
混淆文件的范本和解释
#指定代码的压缩级别
-optimizationpasses 5
#包明不混合大小写
-dontusemixedcaseclassnames
#不去忽略非公共的库类
-dontskipnonpubliclibraryclasses
#优化 不优化输入的类文件
@brucetoo
brucetoo / 提高gradle编译速度.gradle
Created October 12, 2015 12:39
提高gradle编译速度
defaultConfig {
multiDexEnabled = true
}
lintOptions{
abortOnError false
}
//使编译debug环境是在version21以上的,会预先执行preDexDebug,提高编译效果
//在gradle的配置中勾选界面中的选项
@brucetoo
brucetoo / item.xml
Created October 10, 2015 07:34
RecyclerView Item背景的点击效果
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/selector_message_bg" //selector 背景
android:orientation="vertical"
android:clickable="true" //如果点击没有效果,需要加上 clickable=true
android:paddingLeft="10dp"
android:paddingTop="10dp">
@brucetoo
brucetoo / statusbar.java
Created October 8, 2015 03:05
StatusBar的显示和隐藏
private void hideStatusBar() {
if (Build.VERSION.SDK_INT < 16) {
getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}else {
View decorView = getActivity().getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}
@brucetoo
brucetoo / build.gradle
Last active November 19, 2015 11:50
发布项目到Jcenter
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
// 这个version是区分library版本的,因此当我们需要更新library时记得修改这个version
version = "1.0.0"
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
resourcePrefix ""
defaultConfig {
@brucetoo
brucetoo / thumbnail.java
Created September 29, 2015 13:41
Get a thumbnail image url from original url
/**
* get a thumbnail image url from original url
* @param imgUrl original image url
* @param width width u need
* @param height height u need
* @return the number(85) in below url indicate the quality of original image
*/
public static String getThumbnailImageUrl(String imgUrl,int width,int height){
String url="http://imgsize.ph.126.net/?imgurl=data1_data2xdata3x0x85.jpg&enlarge=true";
url=url.replaceAll("data1", imgUrl).replaceAll("data2", width+"").replaceAll("data3", height+"");