开源项目Meizhi学习笔记--工具类的收集

来源:互联网 发布:淘客cms微信系统 编辑:程序博客网 时间:2024/06/10 01:52

收集Meizhi项目中用到的自定义View和工具类

Androids

复制到粘贴板

public class Androids {    public static void copyToClipBoard(Context context, String text, String success) {        ClipData clipData = ClipData.newPlainText("meizhi_copy", text);        ClipboardManager manager = (ClipboardManager) context.getSystemService(                Context.CLIPBOARD_SERVICE);        manager.setPrimaryClip(clipData);        Toast.makeText(context, success, Toast.LENGTH_SHORT).show();    }}

Toasts

吐丝工具类,需要在Application中注册

public class Toasts {    public static Context sContext;    private Toasts() {    }    public static void register(Context context) {        sContext = context.getApplicationContext();    }    private static void check() {        if (sContext == null) {            throw new NullPointerException(                    "Must initial call ToastUtils.register(Context context) in your " +                            "<? " +                            "extends Application class>");        }    }    public static void showShort(int resId) {        check();        Toast.makeText(sContext, resId, Toast.LENGTH_SHORT).show();    }    public static void showShort(String message) {        check();        Toast.makeText(sContext, message, Toast.LENGTH_SHORT).show();    }    public static void showLong(int resId) {        check();        Toast.makeText(sContext, resId, Toast.LENGTH_LONG).show();    }    public static void showLong(String message) {        check();        Toast.makeText(sContext, message, Toast.LENGTH_LONG).show();    }    public static void showLongX2(String message) {        showLong(message);        showLong(message);    }    public static void showLongX2(int resId) {        showLong(resId);        showLong(resId);    }    public static void showLongX3(int resId) {        showLong(resId);        showLong(resId);        showLong(resId);    }    public static void showLongX3(String message) {        showLong(message);        showLong(message);        showLong(message);    }}

PreferencesLoader

SharedPreferences工具

public class PreferencesLoader {    private SharedPreferences mSharedPreferences;    private Context mContext;    public PreferencesLoader(Context context) {        mContext = context;        mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);    }    public void saveBoolean(int keyResId, Boolean value) {        String key = mContext.getString(keyResId);        saveBoolean(key, value);    }    public void saveBoolean(String key, Boolean value) {        SharedPreferences.Editor editor = mSharedPreferences.edit();        editor.putBoolean(key, value);        editor.apply();    }    public Boolean getBoolean(String key) {        return mSharedPreferences.getBoolean(key, false);    }    public Boolean getBoolean(String key, boolean def) {        return mSharedPreferences.getBoolean(key, def);    }    public Boolean getBoolean(int keyResId, boolean def) {        String key = mContext.getString(keyResId);        return mSharedPreferences.getBoolean(key, def);    }    public int getInt(String key) {        return mSharedPreferences.getInt(key, 0);    }    public void saveInt(String key, int value) {        SharedPreferences.Editor editor = mSharedPreferences.edit();        editor.putInt(key, value);        editor.apply();    }}

RatioImageView

比例ImageView

public class RatioImageView extends ImageView {    private int originalWidth;    private int originalHeight;    public RatioImageView(Context context) {        super(context);    }    public RatioImageView(Context context, AttributeSet attrs) {        super(context, attrs);    }    public RatioImageView(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    public void setOriginalSize(int originalWidth, int originalHeight) {        this.originalWidth = originalWidth;        this.originalHeight = originalHeight;    }    @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        if (originalWidth > 0 && originalHeight > 0) {            float ratio = (float) originalWidth / (float) originalHeight;            int width = MeasureSpec.getSize(widthMeasureSpec);            int height = MeasureSpec.getSize(heightMeasureSpec);            // TODO: 现在只支持固定宽度            if (width > 0) {                height = (int) ((float) width / ratio);            }            setMeasuredDimension(width, height);        } else {            super.onMeasure(widthMeasureSpec, heightMeasureSpec);        }    }}

Shares

分享

public class Shares {    public static void share(Context context, int stringRes) {        share(context, context.getString(stringRes));    }    public static void shareImage(Context context, Uri uri, String title) {        Intent shareIntent = new Intent();        shareIntent.setAction(Intent.ACTION_SEND);        shareIntent.putExtra(Intent.EXTRA_STREAM, uri);        shareIntent.setType("image/jpeg");        context.startActivity(Intent.createChooser(shareIntent, title));    }    public static void share(Context context, String extraText) {        Intent intent = new Intent(Intent.ACTION_SEND);        intent.setType("text/plain");        intent.putExtra(Intent.EXTRA_SUBJECT, context.getString(R.string.action_share));        intent.putExtra(Intent.EXTRA_TEXT, extraText);        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        context.startActivity(                Intent.createChooser(intent, context.getString(R.string.action_share)));    }}
0 0
原创粉丝点击