# TUtils **Repository Path**: bossagit11/TUtils ## Basic Information - **Project Name**: TUtils - **Description**: Android development tools repository - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-13 - **Last Updated**: 2021-12-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TUtils工具包的使用 _提示: (点击工具类标题可以连接到源码)_ >Tutils中加入了一下在Android编程中常用的工具类和一些我自己维护的Android常见的控件 >> - 常用工具类: `AndroidUtils, In2Out, IntArrayUtils, MD5, PinYinUtil, SingleToast` >> - Android Widgets控件: `DragDownFresh, DragLayout, FileBrowser, QuickIndexListview, QuickIndexView, SlideItem, SlideMenu` ## 1. 常用工具类使用 1. [AndroidUtils](https://github.com/ITtoken/TUtils/blob/master/src/com/tianjj/tutils/base/AndroidUtils.java) - 双击事件: `doubleClick(long gapTime)` - 多击事件: `MuitiClick(long gapTime, int clickTimes)` - 获取屏幕尺寸: - `getScrennWidth(Context context)` - `etScrennHeight(Context context)` 2. [In2Out](https://github.com/ITtoken/TUtils/blob/master/src/com/tianjj/tutils/base/In2Out.java) - 读取输入流中的内容并返回: `getInputstreamInfo(InputStream in) throws IOException` 3. [IntArrayUtils](https://github.com/ITtoken/TUtils/blob/master/src/com/tianjj/tutils/base/IntArrUtils.java) - 读取数组中的最大/小值: `int getValueType(int[] intArr, int valueType)` - 对目标数组进行排序: `int[] getSort(int[] intArr, int arrLen)` 4. [MD5](https://github.com/ITtoken/TUtils/blob/master/src/com/tianjj/tutils/base/MD5.java) - `String encodingMD5(String password)` 5. [PinyinUtils](https://github.com/ITtoken/TUtils/blob/master/src/com/tianjj/tutils/base/PinyinUtil.java) > _这里引用了belerweb大神的[pinyin4j](https://github.com/belerweb/pinyin4j)_ - 获取汉字的拼音: `String getPinyin(String hanyuString, HanyuPinyinCaseType caseType)` - 获取拼音的首字母: `char getFirstChar(String hanyuString)` - 判断字符串是否是以汉字开头的: `boolean isStartWithHY(String hanyuString)` 6. [SingleToast](https://github.com/ITtoken/TUtils/blob/master/src/com/tianjj/tutils/base/SingleToast.java) - 单例模式的Toast: - `showToast(Context context, String s)` - `showToast(Context context, int resId)` ## 2. Android Widgets模块的使用 ## 1. [DragLayout](https://github.com/ITtoken/TUtils/blob/master/src/com/tianjj/tutils/widgets/DragLayout.java) > 该控件基于Android的`ViewDragHelper` **1. 主要方法** ```java 1. void open(boolean isSmooth): //打开侧滑面板 2. void close(boolean isSmooth): //关闭侧滑面板 3. boolean isMenuSHow(): //获取侧滑面板显示状态 4. ViewGroup getMainViewGroup(): //获取主布局对象 5. ViewGroup getMenuViewGroup(): //获取侧滑布局对象 6. setDragStatListener(DragStatListener listener): //拖拽监听 ``` **2. 接口** > DragStatListener ```java public interface DragStatListener { public void close(); //侧换面板关闭时调用 public void open(); //侧换面板打开时调用 public void draging(); //正在滑动时调用 }; ``` **3. 布局使用** ```xml ``` ## 2. [FileBrowser](https://github.com/ITtoken/TUtils/blob/master/src/com/tianjj/tutils/widgets/FileBrowser.java) > 该控件可以当做文件浏览器使用 **1. 主要方法** ```java 1. List getStringFiles(String path): //获取目录下所有文件的名字 2. String goToBack(): //返回上一级(return 要返回的目录路径) 3. void setFileOrDirOperateListener(FileOrDirOperateListener listener)//文件/文件夹操作监听 ``` **2. 需要权限** ```xml ``` **2. 接口** > FileOrDirOperateListener > >注意:该接口要在布局使用的界面中调用,否侧会抛`NullPointException`异常. ```java public interface FileOrDirOperateListener { /** * * @param currentPath * 当前路径 * @param fileContent * 如果是文件,则返回文件内容,否是为空内容("") */ public void onChoose(String fileName, String currentPath, String fileContent); } ``` ## 3. [QuickIndexListView](https://github.com/ITtoken/TUtils/blob/master/src/com/tianjj/tutils/widgets/QuickIndexListview.java) > 该控件将ListView和QuickIndexView进行了整合,可以直接像使用ListView一样简单的构造出`快速索引列表`, >> _该控件基于[QuickIndexView](https://github.com/ITtoken/Tianjj/blob/master/TUtils/src/com/tianjj/tutils/widgets/QuickIndexView.java) 和 [QuickIndexHelper](https://github.com/ITtoken/Tianjj/blob/master/TUtils/src/com/tianjj/tutils/helper/QuickIndexHelper.java)_ **1. 主要方法** ```java 1. void setItemText(String[] mItemTests): //设置条目内容,必须在调用,且在setAdapter之前 2. void setAdapter(QuickListAdapter adapter): //设置QuickListView的条目内容 ``` **2. 接口** > QuickListAdapter ```java public abstract class QuickListAdapter { /** * 获取要显示的条目总数 * * @return */ public int getCount() { if (mOrderedList != null) { return mOrderedList.size(); //默认返回列表条目的大小 } return 0; } /** * 获取要显示的每个条目的View * * @param position * @param convertView * @param parent * @return */ public abstract View getView(int position, View convertView, ViewGroup parent, List orderedList); } ``` _其他`Widgets`目前还正在更新验证..._ _此工具包会一直更新,各位有什么意见或建议可以一起商讨,Email: <527623439@qq.com>_