Skip to content

Commit

Permalink
no message
Browse files Browse the repository at this point in the history
  • Loading branch information
youth5201314 committed Feb 22, 2017
1 parent 8b9d0ae commit f816312
Show file tree
Hide file tree
Showing 8 changed files with 101 additions and 15 deletions.
6 changes: 4 additions & 2 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

#XFrame — Android快速开发框架(还在整理中)
#XFrame — Android快速开发框架(还在整理中,可以先star,先不要用于量产模式)

>从小的功能做起,只做必要的封装,让开发更加简单 ———— XFrame
Expand All @@ -9,11 +9,13 @@
为什么呢?这些功能现在都有很强大的框架,我也做不到那么好,而且更新很快,隔段时间就有新的框架出现,每个人都有自己的选择,我不想使用者因为这个局限大家。
我的本意是为了通过封装Android中一些的复杂操作而达到简化Android应用级开发的成本,用最少的代码实现更多的功能,我们只封装那些大部分应用必须用到但有总是增加我们繁琐的工作量。也许市面上单个功能模块有现成,而且很多!我们总是需要去挨着选择,但他们之间并不一定兼容,我们需要浪费在每个项目中的修改、拷贝、维护时间,而XFrame算是你还不错的选择对象!

[Banner轮播框架连接](https://github.com/youth5201314/banner)

[详细文档请前往wiki](https://github.com/youth5201314/XFrame/wiki)

## 特性

**XFrame**主要有这些功能:
**XFrame**主要有这些功能:(打钩的标示第一版本已完成,其他还在整理中)

- [x] `XLog`:可输出漂亮容易查看的日志,支持Json、Xml、Map、List等格式输出,可全局配置
- [x] `XLoadingView`:简单实用的页面状态统一管理 ,加载中、无网络、无数据、出错等状态的随意切换
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/com/youth/xf/BaseActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public void setContentView(int layoutResID) {
}

protected void setStatusBar() {
XStatusBar.setColor(this, getResources().getColor(R.color.colorPrimary));
XStatusBar.setColor(this, getResources().getColor(R.color.colorPrimary),0);
}

@Override
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/youth/xf/ui/demo/XToastActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
import com.youth.xframe.widget.XToast;

public class XToastActivity extends BaseActivity implements View.OnClickListener {


Button error;
Button success;
Button info;
Expand Down Expand Up @@ -49,8 +47,10 @@ public void initView() {
normalNoIcon.setOnClickListener(this);
normalIcon.setOnClickListener(this);
custom.setOnClickListener(this);

}


@Override
public void onClick(View v) {
switch (v.getId()){
Expand Down
47 changes: 47 additions & 0 deletions app/src/main/java/com/youth/xf/utils/VideoUtils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.youth.xf.utils;

import android.annotation.TargetApi;
import android.graphics.Bitmap;
import android.media.MediaMetadataRetriever;
import android.media.ThumbnailUtils;
import android.os.Build;
import android.provider.MediaStore;

import java.util.HashMap;

public class VideoUtils {

/**
* 获取视频缩略图,放在线程中执行,比较耗时
* @param url 网络连接
* @param width 图片宽度
* @param height 突破高度
* @return
*/
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public static Bitmap createVideoThumbnail(String url, int width, int height) {
Bitmap bitmap = null;
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
int kind = MediaStore.Video.Thumbnails.MINI_KIND;
try {
if (Build.VERSION.SDK_INT >= 14) {
retriever.setDataSource(url, new HashMap<String, String>());
} else {
retriever.setDataSource(url);
}
bitmap = retriever.getFrameAtTime();
} catch (IllegalArgumentException ex) {
} catch (RuntimeException ex) {
} finally {
try {
retriever.release();
} catch (RuntimeException ex) {
}
}
if (kind == MediaStore.Images.Thumbnails.MICRO_KIND && bitmap != null) {
bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height,
ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
}
return bitmap;
}
}
1 change: 0 additions & 1 deletion app/src/main/res/layout/activity_xtoast.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,4 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="自定义" />

</LinearLayout>
12 changes: 6 additions & 6 deletions xframe/src/main/java/com/youth/xframe/utils/XBitmapUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -360,7 +360,7 @@ public static Bitmap zoom(Bitmap bitmap, int w, int h) {
}

/**
* 获得圆角图片的方法
* 获得圆角的Bitmap
*
* @param bitmap 源Bitmap
* @param roundPx 圆角大小
Expand Down Expand Up @@ -389,7 +389,7 @@ public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) {
}

/**
* 获得带倒影的图片方法
* 获得带倒影的Bitmap
*
* @param bitmap 源Bitmap
* @return 带倒影的Bitmap
Expand Down Expand Up @@ -483,7 +483,7 @@ public static Bitmap convertGreyImg(Bitmap img) {
}

/**
* 转换图片成圆形
* 获得圆形的Bitmap
*
* @param bitmap 传入Bitmap对象
* @return 圆形Bitmap
Expand Down Expand Up @@ -664,7 +664,7 @@ public static Bitmap codec(Bitmap src, Bitmap.CompressFormat format,
}

/**
* 图片压缩方法:(使用compress的方法)
* 图片压缩处理(使用compress的方法)
* <p/>
* <br>
* <b>说明</b> 如果bitmap本身的大小小于maxSize,则不作处理
Expand Down Expand Up @@ -764,7 +764,7 @@ public static Bitmap rotate(Bitmap bitmap, int angle) {
}

/**
* 水平翻转处理
* 水平翻转图片
*
* @param bitmap 原图
* @return 水平翻转后的图片
Expand All @@ -777,7 +777,7 @@ public static Bitmap reverseByHorizontal(Bitmap bitmap) {
}

/**
* 垂直翻转处理
* 垂直翻转图片
*
* @param bitmap 原图
* @return 垂直翻转后的图片
Expand Down
3 changes: 2 additions & 1 deletion xframe/src/main/java/com/youth/xframe/utils/XDateUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ protected SimpleDateFormat initialValue() {
return new SimpleDateFormat();
}
};

/**
* 获取SimpleDateFormat实例
*
Expand All @@ -94,7 +95,7 @@ public static SimpleDateFormat getSimpleDateFormat(String pattern) {
}

/**
* 获取表示当前时间的字符串
* 获取当前时间的字符串
*
* @return
*/
Expand Down
41 changes: 39 additions & 2 deletions xframe/src/main/java/com/youth/xframe/utils/XRegexUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,43 @@ public static String idHide(String id) {
}

/**
* 是否为车牌号(沪A88888)
* 简单验证用户名(字母、数字、下划线)
*
* @param username 用户名
* @return 是否为用户名
*/

public static boolean checkUserName(String username) {
Pattern pattern = Pattern.compile("^\\w+$");
return pattern.matcher(username).find();

}
/**
* 简单验证昵称(字母、数字、汉字、下划线)
*
* @param nickname 昵称
* @return 是否为昵称
*/

public static boolean checkNickName(String nickname) {
Pattern pattern = Pattern.compile("\\w\\u4e00-\\u9fa5]+");
return pattern.matcher(nickname).find();

}
/**
* 简单验证密码(6-16位、字母、数字、字符)
*
* @param password 密码
* @return 是否为密码
*/

public static boolean checkPassword(String password) {
Pattern pattern = Pattern.compile("^(\\w|[`~!@#$%^&*()+=|{}':;',\\\\\\\\[\\\\\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]){6,16}$");
return pattern.matcher(password).find();

}
/**
* 是否为车牌号(川A88888)
*
* @param vehicleNo 车牌号
* @return 是否为车牌号
Expand All @@ -62,7 +98,8 @@ public static boolean checkVehicleNo(String vehicleNo) {
* @return 验证成功返回true,验证失败返回false
*/
public static boolean checkIdCard(String idCard) {
String regex = "[1-9]\\d{13,16}[a-zA-Z0-9]{1}";
// 简单验证/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/
String regex = "(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}$)";
return Pattern.matches(regex, idCard);
}

Expand Down

0 comments on commit f816312

Please sign in to comment.