Skip to content

Instantly share code, notes, and snippets.

View kmfish's full-sized avatar

kmfish kmfish

View GitHub Profile
@kmfish
kmfish / SafeViewTreeObserverExt.kt
Last active December 27, 2024 09:17
A better ViewTreeObserver api
/**
To solve the memory leak and crash problem caused by View.getViewTreeObserver returning different object instances
*/
fun View.safeViewTreeObserver(): SafeViewTreeObserver {
return ViewTreeObserverRepository.get(this)
}
object ViewTreeObserverRepository {
private val map = HashMap<View, SafeViewTreeObserver>()
@kmfish
kmfish / 0_reuse_code.js
Created October 9, 2015 11:37
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
public class UserPanelDialogFragment extends DialogFragment implements View.OnClickListener {
private boolean isLogin = false;
private TextView mRegister;
private TextView mLogin;
private TextView mFeedback;
private TextView mUserId;
private TextView mLogout;
<!-- Application theme. -->
<style name="MyTheme" parent="@android:style/Theme.Holo">
<item name="android:windowActionBarOverlay">true</item>
<item name="android:actionBarStyle">@style/MyTheme.ActionBar</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowBackground">@color/red_background</item>
</style>
<style name="MyTheme.ActionBar" parent="android:Widget.Holo.ActionBar">
<item name="android:background">@android:color/transparent</item>
<item name="android:backgroundStacked">@android:color/transparent</item>
@kmfish
kmfish / gist:10966197
Last active August 29, 2015 13:59
android transparent activity style
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
@kmfish
kmfish / node_require_reload.js
Created April 11, 2014 06:16
node require reload module
delete require.cache[require.resolve('./b.js')]
var l = require('./b');
@kmfish
kmfish / gist:10437920
Created April 11, 2014 02:32
node create sha1 hash from string
var sha1 = crypto.createHash('sha1');
sha1.update('foo');
sha1.digest('hex');