开源项目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
- 开源项目Meizhi学习笔记--工具类的收集
- 开源项目Meizhi学习笔记--RatioImageView
- 开源项目Meizhi学习笔记
- 开源项目Meizhi学习笔记--VideoImageView
- 开源项目Meizhi学习笔记--保存图片到本地
- 开源项目MeiZhi源码阅读
- 开源项目解析:Meizhi Android之RxJava & Retrofit最佳实践
- 项目构建工具Maven的学习笔记
- 收集的开源项目
- 【安全牛学习笔记】信息收集工具
- 开源项目收集
- 开源项目收集
- 开源项目收集
- 开源项目收集
- 开源的 Android 项目 收集
- 收集的开源项目【清单】
- 收集常用的.net开源项目
- 收集常用的.net开源项目
- 【Video】音视频领域知识
- Codeforces 699 C. Vacations ( 贪心
- 292. Nim Game
- 用户层加载驱动 卸载驱动源码
- Flume 1.6 遇Emoji表情发生截断丢失数据问题分析
- 开源项目Meizhi学习笔记--工具类的收集
- 任意数据长度的bitset,以及按位读写数据的函数
- 像写文章一样使用 Kotlin
- c++ 字符串分割函数stringsplit
- 235. Lowest Common Ancestor of a Binary Search Tree
- 文件名匹配查找
- SSH免密登录
- LRU Cache -- Lintcode 134
- Java Quene