Skip to content

Instantly share code, notes, and snippets.

Avatar

Héctor de Isidro hrules6872

View GitHub Profile
View PriceTagSpan.java
import android.text.TextPaint;
import android.text.style.SuperscriptSpan;
public class PriceTagSpan extends SuperscriptSpan {
@Override
public void updateDrawState(TextPaint tp) {
tp.baselineShift += (int) (tp.ascent() * 0.33f);
}
@Override
@hrules6872
hrules6872 / CustomGenerateViewId.java
Created Apr 9, 2015
A backport of generateViewId() to API 10+
View CustomGenerateViewId.java
public class CustomGenerateViewId {
private static final AtomicInteger nextGeneratedId = new AtomicInteger(1);
public static int customGenerateViewId() {
for (; ; ) {
final int result = nextGeneratedId.get();
// aapt-generated IDs have the high byte nonzero; clamp to the range under that.
int newValue = result + 1;
if (newValue > 0x00FFFFFF) {
newValue = 1; // Roll over to 1, not 0.
}
View OutlineTextView.java
public class OutlineTextView extends TextView {
private static final int DEFAULT_OUTLINE_COLOR = 0xFF000000;
private static final int DEFAULT_OUTLINE_SIZE = 7;
private static final boolean DEFAULT_OUTLINE_STATE = true;
private int outlineColor;
private int outlineSize;
private boolean outlineState;
public OutlineTextView(Context context) {
View ObservableScrollView.java
public class ObservableScrollView extends ScrollView {
private static final int DEFAULT_THRESHOLD_DP = 4;
private ScrollDirectionListener scrollDirectionListener;
private int scrollThreshold;
public ObservableScrollView(Context context) {
this(context, null);
}
View SafeStringUtils.java
public class SafeStringUtils {
public static boolean safeEquals(Object o1, Object o2) {
return o1 != null && o1.equals(o2);
}
public static boolean safeEqualsIgnoreCase(String s1, String s2) {
return s1 != null && s1.equalsIgnoreCase(s2);
}
public static boolean safeIsEmpty(String s) {
@hrules6872
hrules6872 / ExampleActivity.java
Created Aug 12, 2015
HorizontalScrollViewSelector
View ExampleActivity.java
int totalItems=10;
horizontalScrollView = (HorizontalScrollViewSelector) findViewById(R.id.horizontalScrollView);
horizontalScrollView.setListener(new HorizontalScrollViewSelector.OnScrollChangedListener() {
@Override
public void onScrollChanged(int totalX, int x) {
items = x * totalItems / maxX);
}
});
View BaseActivity.java
public abstract class BaseActivity extends AppCompatActivity {
private Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutResource());
toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
View RightAlignedHorizontalScrollView.java
public class RightAlignedHorizontalScrollView extends HorizontalScrollView {
private static final boolean DEFAULT_GRAVITY_RIGHT = true;
private static final boolean DEFAULT_AUTOSCROLL = true;
private boolean autoScroll;
private boolean gravityRight;
public RightAlignedHorizontalScrollView(Context context) {
this(context, null);
}
@hrules6872
hrules6872 / PreferencesObjectHelper.java
Created Nov 14, 2015
PreferencesObjectHelper - Store and retrieve a class object in SharedPreferences
View PreferencesObjectHelper.java
public class PreferencesObjectHelper<T> {
private static final String TAG = "PreferencesObjectHelper";
private final SharedPreferences preferences;
private final SharedPreferences.Editor editor;
@SuppressLint("CommitPrefEdits")
public PreferencesObjectHelper(Context context, String fileName) {
preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE);
editor = preferences.edit();
@hrules6872
hrules6872 / FindLongestStreak.java
Last active Dec 7, 2015
findLongestStreak() method
View FindLongestStreak.java
@IntDef({
FIND_STREAK_LESS_THAN_ZERO, FIND_STREAK_LESS_EQUAL_TO_ZERO, FIND_STREAK_LESS_GREATER_ZERO
}) @Retention(RetentionPolicy.SOURCE) public @interface FIND_STREAK_OPERATOR {
}
public static final int FIND_STREAK_LESS_THAN_ZERO = 0;
public static final int FIND_STREAK_LESS_EQUAL_TO_ZERO = 1;
public static final int FIND_STREAK_LESS_GREATER_ZERO = 2;
public int findLongestStreak(float[] values, @FIND_STREAK_OPERATOR int operator) {