Skip to content

Instantly share code, notes, and snippets.

View 1hakr's full-sized avatar
🇦🇺
working on new microstartup

Hari 1hakr

🇦🇺
working on new microstartup
View GitHub Profile
@keyboardr
keyboardr / CachedLoader.java
Created May 12, 2013 10:01
A handy AsyncTaskLoader that contains common caching functionality.
import android.content.Context;
import android.support.v4.content.AsyncTaskLoader;
public abstract class CachedLoader<D> extends AsyncTaskLoader<D> {
private D mResult;
public CachedLoader(Context context) {
super(context);
}
@ayushhgoyal
ayushhgoyal / ChatHeadService.java
Last active December 18, 2015 11:59
Facebook chat heads in android application.
// I forked this code from- http://www.piwai.info/chatheads-basics/
// Chat head is displayed from a service.
// uses a permission: <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
// This is a service so it needs to be declared in manifest: <service android:name=".ChatHeadService" />
// Whenever you need to display the chat head, just start the service
// example: startService(new Intent(context, ChatHeadService.class));
public class ChatHeadService extends Service {
private WindowManager windowManager;
@romannurik
romannurik / AndroidCreateGhostIcon.java
Created June 14, 2013 06:28
Android ColorMatrixColorFilter example: Creates a 'ghost' bitmap version of the given source drawable (ideally a BitmapDrawable). In the ghost bitmap, the RGB values take on the values from the 'color' argument, while the alpha values are derived from the source's grayscaled RGB values. The effect is that you can see through darker parts of the …
/**
* Creates a 'ghost' bitmap version of the given source drawable (ideally a BitmapDrawable).
* In the ghost bitmap, the RGB values take on the values from the 'color' argument, while
* the alpha values are derived from the source's grayscaled RGB values. The effect is that
* you can see through darker parts of the source bitmap, while lighter parts show up as
* the given color. The 'invert' argument inverts the computation of alpha values, and looks
* best when the given color is a dark.
*/
private Bitmap createGhostIcon(Drawable src, int color, boolean invert) {
int width = src.getIntrinsicWidth();
@mitch000001
mitch000001 / ExpandableListView with SectionIndexer
Last active December 18, 2015 22:18
A workaround for ExpandableListViews to use the SectionIndexer to provide fast scroll ability. This assumes that you use the groups as sections.
Caveats
This implementation uses the OnScrollListener to watch the scrolling state. If you need to set your custom OnScrollListener to perform other logic you have either to replace the implementing interface with a concrete constructor argument or you have to put the logic into the adapter also, if possible.
As far as I know it is not possible to set another OnScrollListener without replacing the first one.
/*
* Copyright (C) 2008 The Android Open Source Project
*
* 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
@alexfu
alexfu / PrefixedEditText.java
Last active July 11, 2022 10:41
EditText with support for prefixes.
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.widget.EditText;
/**
@eveliotc
eveliotc / getRoundedBitmap.java
Created July 22, 2013 03:26
A better yet dirty way of get rounded avatars
public static Bitmap getRoundedBitmap(Bitmap bitmap) {
final Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(output);
final int color = Color.RED;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
paint.setAntiAlias(true);
@eveliotc
eveliotc / RoundedAvatarDrawable.java
Created July 22, 2013 04:59
RoundedAvatarDrawable: A Drawable that draws an oval with given {@link Bitmap} See http://evel.io/2013/07/21/rounded-avatars-in-android/
/*
* Copyright 2013 Evelio Tarazona Cáceres <[email protected]>
*
* 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
@romannurik
romannurik / CharsPerLineActivity.java
Last active December 17, 2021 03:15
Demonstrates how to identify and avoid line-length issues with TextView. The measure, or characters per line, of a block of text plays a key role in how comfortable it is to read (sometimes referred to as readability). A widely accepted optimal range for a text block's measure is between 45 and 75 characters. This code demonstrates two phases of…
/*
* Copyright 2013 Google Inc.
*
* 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
@mpost
mpost / Entry.java
Created September 18, 2013 11:50
Android application demonstrating the usage of ViewOverlay and OnPreDrawListener to achieve animations effects.
package com.example.overlay;
public class Entry {
private final int imageResId;
private final String title;
public Entry( int imageResId, String title ) {
this.imageResId = imageResId;