Skip to content

Instantly share code, notes, and snippets.

📱
Working

Yang Hui kyze8439690

📱
Working
Block or report user

Report or block kyze8439690

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@kyze8439690
kyze8439690 / NestedAppBarLayout.java
Created Jun 24, 2015
NestedAppBarLayout, make AppBarLayout scrollable in CoordinatorLayout, merge code from NestedScrollView, lots of thing to improve...
View NestedAppBarLayout.java
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.design.widget.AppBarLayout;
import android.support.v4.view.MotionEventCompat;
import android.support.v4.view.NestedScrollingChild;
import android.support.v4.view.NestedScrollingChildHelper;
import android.support.v4.view.VelocityTrackerCompat;
import android.support.v4.view.ViewCompat;
import android.support.v4.widget.ScrollerCompat;
import android.util.AttributeSet;
View gist:ed3792203b81e201380aae4e70386222
GetObjectClass -> DeleteLocalRef
FindClass -> DeleteLocalRef
NewString -> DeleteLocalRef
NewStringUTF -> DeleteLocalRef
NewObject -> DeleteLocalRef
NewBooleanArray -> DeleteLocalRef
NewByteArray -> DeleteLocalRef
NewCharArray -> DeleteLocalRef
NewShortArray -> DeleteLocalRef
NewIntArray -> DeleteLocalRef
@kyze8439690
kyze8439690 / ListViewOnScrollListener.java
Created Dec 26, 2013
OnScrollListener to detect scrollup and scrolldown in ListView.
View ListViewOnScrollListener.java
public class ListViewOnScrollListener extends OnScrollListener{
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {}
private int lastVisibleItem = 0;
private int lastY = 0;
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
int top = 0;
@kyze8439690
kyze8439690 / CursorAdapter2
Created Oct 19, 2014
CursorAdapter used for RecyclerView
View CursorAdapter2
package me.yugy.cnbeta.widget;
import android.content.Context;
import android.database.ContentObserver;
import android.database.Cursor;
import android.database.DataSetObservable;
import android.database.DataSetObserver;
import android.os.Handler;
import android.support.v7.widget.RecyclerView;
import android.view.ViewGroup;
@kyze8439690
kyze8439690 / SelectorImageView.java
Created Apr 12, 2015
ImageView that will draw a selector on top of image, support normal drawable and the newest RippleDrawable.
View SelectorImageView.java
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.widget.ImageView;
import me.yugy.app.timeline.R;
@kyze8439690
kyze8439690 / build.gradle
Last active Jan 19, 2017
Use build.gradle to compile all jars in libs folder and ndk support
View build.gradle
//compile all jar in libs folder
dependencies {
compile fileTree(dir: 'libs' , include: '*.jar')
}
//pack all so file into a jar and compile it
task nativeLibsToJar(
type: Zip,
description: 'create a jar archive of the native libs') {
destinationDir file('./libs')
baseName 'native-libs'
View StackPageTransformer.java
import android.support.v4.view.ViewPager;
import android.view.View;
public class StackPageTransformer implements ViewPager.PageTransformer {
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void transformPage(View page, float position) {
final float alpha;
final float translationX;
View GridFragment.java
package android.support.v4.app;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
@kyze8439690
kyze8439690 / gist:8eb2da153cd207cd330b
Created Jul 6, 2014
run asynctask concurrently on targetSdkVersion 13+
View gist:8eb2da153cd207cd330b
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB_MR1) {
task.execute();
} else {
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
@kyze8439690
kyze8439690 / PermissionUtils
Created Feb 3, 2016
android 6.0 request permission callback pattern
View PermissionUtils
import android.app.Activity;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.StringRes;
import android.support.v4.app.ActivityCompat;
import java.util.Map;
You can’t perform that action at this time.