Skip to content

Instantly share code, notes, and snippets.

@Nilzor
Nilzor / ScalingImageView.java
Last active May 17, 2018 11:22
An ImageView with modified onMeasure which scales bounding box even if ImageView has layout width/height match_parent / fill_parent
package nilzor.public.views;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.ImageView;
public class ScalingImageView extends ImageView {
private boolean mAdjustViewBounds;
@hofmannsven
hofmannsven / README.md
Last active November 10, 2024 13:48
Git CLI Cheatsheet
@chrisbanes
chrisbanes / FloatLabelLayout.java
Last active September 4, 2024 05:58
FloatLabelLayout
/*
* Copyright 2014 Chris Banes
*
* 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
@keyboardsurfer
keyboardsurfer / flavor_names_build.gradle
Last active January 13, 2021 09:24
Version names for application variants
android {
applicationVariants.all { variant ->
def flavor = variant.mergedFlavor
def name = flavor.getVersionName()
def versionName = name + '-' + variant.properties.get('flavorName')
if (variant.buildType.isDebuggable()) {
versionName += '-debug';
}
flavor.versionName = versionName;
}
@AVapps
AVapps / horizontal_wiimote_to_vJoy.py
Last active November 30, 2018 22:41
FreePIE script to use up tu 4 wiimotes and nunchucks with vJoy. Configure your virtual joysticks with x and y axis, 1 "4 directions" POV and 9 buttons. Wiimote 1 maps to vJoy 2, etc... because vJoy does not work on my windows install...
"""
Horizontal Wiimote to vJoy FreePIE script
Maps up to 4 wiimotes to 4 virtual joysticks using vJoy.
Before running this script define 4 virtual joysticks with x and y axis, 7 buttons (or keep your wiimote + nunchuck virtual joysticks configuration).
version: 1.0
author: Jahdrien
gist: https://gist.github.com/Jahdrien/473dd8c45690863952dd
"""
import Foundation
extension String
{
var length: Int {
get {
return countElements(self)
}
}
@shekibobo
shekibobo / README.md
Last active March 2, 2020 11:04
Android: Base Styles for Button (not provided by AppCompat)

How to create custom button styles using Android's AppCompat-v7:21

Introduction

AppCompat is an Android support library to provide backwards-compatible functionality for Material design patterns. It currently comes bundled with a set of styles in the Theme.AppCompat and Widget.AppCompat namespaces. However, there is a critical component missing which I would have thought essential to provide the a default from which we could inherit our styles: Widget.AppCompat.Button. Sure, there's Widget.AppCompat.Light.ActionButton, but that doesn't actually inherit from Widget.ActionButton, which does not inherit from Widget.Button, so we might get some unexpected behavior using that as our base button style, mainly because Widget.ActionButton strictly belongs in the ActionBar.

So, if we want to have a decently normal default button style related to AppCompat, we need to make it ourselves. Let's start by digging into the Android SDK to see how it's doing default styles.

Digging In

Unless specified otherwise, all of the below tinting applies to both Lollipop and pre-Lollipop using AppCompat v21.
To use the support version of these attributes, remove the android namespace.
For instance, "android:colorControlNormal" becomes "colorControlNormal".
These attributes will be propagated to their corresponding attributes within the android namespace
for devices running Lollipop. Any exceptions to this will be noted by including the "android:" prefix.
All Clickable Views:
-----------
@selaromi
selaromi / make-flashlight-work-on.yosemite.md
Last active July 25, 2023 19:21
Steps to make Flashlight work on 10.10.4 (doesn't work for El Capitan)

Make Flashlight work on 10.10.4

  1. Install SIMBL http://culater.net/software/SIMBL/SIMBL.php
  2. Copy SpotlightSIMBL.bundle to /Library/Application Support/SIMBL/Plugins/ (a)
  3. Copy Flashlight.osax to ~/Library/ScriptingAdditions/ (b)
  4. Disable Flashlight
  5. Enable Flashlight
  6. Open Script Editor on your Mac (look for "Script Editor In Spotlight") and paste the following code (don't change Snow Leopard for Yosemite)
tell application "Spotlight" to inject SIMBL into Snow Leopard
@sourada-e5
sourada-e5 / object_stream_reader.py
Created January 29, 2018 17:01
Read Java ObjectOutputStream from Python (not full-featured or robust, just useful)
class ObjectStreamReader(object):
def __init__(self, s):
self.stream = s
self.stream.read(2 + 2)
self.cur_block_remaining = self.get_block_length()
def get_block_length(self):
type = ord(self.stream.read(1)[0])
if type == 0x7a:
return struct.unpack('>i', self.stream.read(4))[0]