Skip to content

Instantly share code, notes, and snippets.

View kyze8439690's full-sized avatar
📱
Working

Yang Hui kyze8439690

📱
Working
View GitHub Profile
@kyze8439690
kyze8439690 / styles.xml
Last active December 27, 2015 06:09
In order to make a holo style scrollbar in android 2.3,first you have to import the holo scrollbar resource(sdk/platforms/android-18/data/res/drawable-xhdpi/scrollbar_handle_holo_light.9.png) into your drawable dir, and then to change your style xml
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:scrollbarSize">10.0dip</item><!--very important, in order to show scrollbar properly in android 2.3 and before-->
<item name="android:scrollbarThumbVertical">@drawable/scrollbar</item>
<item name="android:scrollbarThumbHorizontal">@drawable/scrollbar</item>
<item name="android:scrollbarTrackVertical">@null</item>
<item name="android:scrollbarTrackHorizontal">@null</item>
</style>
</resources>
@kyze8439690
kyze8439690 / setListViewDivider.java
Created November 2, 2013 17:22
set ListView divider drawable and height programmatically,must setDivider(Drawble) fiist, and then setDividerHeight, otherwise, the dividerheight will be 0.
getListView().setDivider(getResources().getDrawable(R.color.list_background)); //must be called first
getListView().setDividerHeight(FuncInt.dp(10));
@kyze8439690
kyze8439690 / singleton.java
Created November 4, 2013 12:53
singleton pattern
public class Singleton {
private static Object obj = new Object();
private static Singleton instance = null;
private Singleton(){
}
public static Singleton getInstance() {
// if already inited, no need to get lock everytime
@kyze8439690
kyze8439690 / convertBitmap.java
Created November 11, 2013 06:53
fix android 2.3 can't decode bitmap in rgba8888 format
public static Bitmap convert(Bitmap bitmap, Bitmap.Config config) {
Bitmap convertedBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), config);
Canvas canvas = new Canvas(convertedBitmap);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
canvas.drawBitmap(bitmap, 0, 0, paint);
return convertedBitmap;
}
@kyze8439690
kyze8439690 / addHeaderView.java
Created November 22, 2013 15:58
ListView do not show header view until you add an adapter to it
listView.addHeaderView(headerView);
//add adapter and show the header
listView.setAdapter(myAdapter);
public class ExpandedGridView extends GridView{
public ExpandedGridView(Context context) {
super(context);
}
public ExpandedGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ExpandedGridView(Context context, AttributeSet attrs, int defStyle) {
@kyze8439690
kyze8439690 / build.gradle
Last active January 19, 2017 08:52
Use build.gradle to compile all jars in libs folder and ndk support
//compile all jar in libs folder
dependencies {
compile fileTree(dir: 'libs' , include: '*.jar')
}
//pack all so file into a jar and compile it
task nativeLibsToJar(
type: Zip,
description: 'create a jar archive of the native libs') {
destinationDir file('./libs')
baseName 'native-libs'
@kyze8439690
kyze8439690 / SquareRelativeLayout.java
Created November 30, 2013 17:59
A custom RelativeLayout which will auto match its height to its width
public class SquareRelativeLayout extends RelativeLayout{
public SquareRelativeLayout(Context context) {
super(context);
}
public SquareRelativeLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SquareRelativeLayout(Context context, AttributeSet attrs, int defStyle) {
@kyze8439690
kyze8439690 / ListViewOnScrollListener.java
Created December 26, 2013 07:34
OnScrollListener to detect scrollup and scrolldown in ListView.
public class ListViewOnScrollListener extends OnScrollListener{
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {}
private int lastVisibleItem = 0;
private int lastY = 0;
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
int top = 0;
-optimizationpasses 5
# 混淆时不会产生形形色色的类名
-dontusemixedcaseclassnames
# 指定不去忽略非公共的类库
-dontskipnonpubliclibraryclasses
# 不预校验
-dontpreverify