Skip to content

Instantly share code, notes, and snippets.

View alexmprog's full-sized avatar

Alexandr Golovach alexmprog

View GitHub Profile
@alexmprog
alexmprog / BaseViewModelFactory.kt
Created November 7, 2018 18:04
Extensions function for getting ViewModels
class BaseViewModelFactory<T>(val creator: () -> T) : ViewModelProvider.Factory {
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return creator() as T
}
}
@alexmprog
alexmprog / animation_file
Created November 3, 2018 19:41
Elevation animation for scrolled views
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true">
<objectAnimator
android:duration="200"
android:propertyName="elevation"
android:valueTo="6dp"
android:valueType="floatType" />
</item>
@alexmprog
alexmprog / ImageUtils.java
Created May 11, 2016 10:17
Class, which help work with images - get mime type, write bitmap to file and etc.
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Rect;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.util.Base64;
@alexmprog
alexmprog / VideoUtils.java
Created May 11, 2016 09:59
Simple class, which detects if some link is Youtube or Vimeo. Also can get path for loading thumbnail image for Youtube and get video id for Vimeo.
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.support.annotation.NonNull;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class VideoUtils {
@alexmprog
alexmprog / DisplayUtils.java
Created May 11, 2016 09:52
DisplayUtils - simple class, which contains methods for calculating screen dimensions
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Point;
import android.graphics.Rect;
import android.support.annotation.NonNull;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.View;
import android.view.WindowManager;