自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 收藏
  • 关注

原创 自定义实现类聊天界面的气泡状ImageView

/宽度//高度//气泡三角形的宽度//气泡三角形的高度//用于切割ImageView//ImageView四角的半径//气泡三角形离顶部的距离//当点击时ImageView表面覆盖的颜色//是否被点击//触摸范围}/*** 初始化各个参数**/}}@Overrideinit();}break;break;}}//绘制一个气泡状的Path//获取全局rect}

2022-11-14 14:20:34 841

原创 图片裁剪功能

*** 水平方向与View的边距/*** 垂直方向与View的边距/*** 绘制的矩形的宽度/*** 边框的颜色,默认为白色/*** 边框的宽度 单位dp// 计算矩形区域的宽度 mWidth = getWidth() - 2 * mHorizontalPadding;// 计算距离屏幕垂直边界 的边距 mVerticalPadding =(getHeight() - mWidth) / 2;

2022-10-25 11:20:02 331

原创 监听软键盘弹出收回状态

【代码】监听软键盘弹出收回状态。

2022-10-20 11:22:52 419

原创 根据int颜色值获取带透明度的颜色

获取带透明度的颜色

2022-09-02 08:48:33 647

原创 Jetpack Compose之Navigation组件使用

Android Jetpack Compose之组件Navigation的基础使用

2022-07-22 14:28:26 406

原创 可设置宽高比的图片

可设置宽高比的图片控件:AspectRatioImageViewclass AspectRatioImageView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : AppCompatImageView(context, attrs, defStyleAttr) { var ratio: Float = DEFAULT_

2022-05-30 11:00:42 78

原创 android studio本地build正式包与debug切换

打开Build Variants窗口在窗口中切换构建的包类型切换成功后先clean后run即可。

2022-05-09 13:54:50 583

原创 查看kotlin文件对应的java字节码

第一步,打开我们要研究的 Kotlin 代码。第二步,依次点击菜单栏:Tools -> Kotlin -> Show Kotlin Bytecode。这时候,我们在右边的窗口中就可以看见 Kotlin 对应的字节码了。但这并不是我们想要的,所以要继续操作,将字节码转换成 Java 代码。第三步,点击画面右边的“Decompile”按钮。最后,我们就能看见反编译出来的 Java 文件了。...

2022-05-05 15:33:07 1531 6

原创 自定义RecyclerView.ItemDecoration修改间距

自定义类继承自RecyclerView.ItemDecoration,并重写getItemOffsets方法,根据自己想要的效果定制规则来实现。以下实现的效果是以宫格列表为例实现的:第一行时顶部加间距,其他行不加(布局中加了底部间距);item在左边时左间距完整,右间距减一半,item在右边时左间距减半,右间距完整。public class TextTopicGridSpaceItemDecoration extends RecyclerView.ItemDecoration { private

2022-05-05 15:22:06 364

原创 ShortcutManager桌面app图标长按快捷入口

1.动态方式实现1.kotlin版代码1.1 直接实现对应代码:fun shortcut(){ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) { val scManager: ShortcutManager = getSystemService(ShortcutManager::class.java) //跳转Second va.

2022-04-09 15:01:18 2564

原创 隐私协议弹窗中富文本的实现

关键代码:mConTv?.setMovementMethod(LinkMovementMethod.getInstance())spannableStringBuilder=SpannableStringBuilder()spannableStringBuilder?.append("请您认真阅读")val serviceSp= SpannableString("《用户协议》")serviceSp.setSpan(object :ClickableSpan() { override f.

2022-04-06 16:29:37 545

原创 创建项目上传github并发布至JitPack

1.登录GitHub并且创建一个代码仓库填写基本信息点击创建2.打开Android studio并且新建project3.project关联到GitHub上的仓库项目启用git管理关联仓库复制GitHub的仓库地址填入然后按步骤确定即可4.项目push到GitHub仓库本地分支与远程分支关名称保持一致,然后关联提交代码。。。按步骤"commit and push" 提交上去查看GitHub发现此时代码就已经被push上来了5.发布可供三方依赖的正式版

2022-03-30 17:17:06 915 5

原创 AppCompatSeekBar

1.xml布局<androidx.appcompat.widget.AppCompatSeekBar android:id="@+id/seek_video_fullscreen" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" .

2022-03-28 15:14:23 3532

原创 实现屏幕内可拖拽摆放的View

1.自定义Viewpublic class CustomFrameLayout extends FrameLayout { private Context mContext; private ViewDragHelper mDragger; private View mAutoBackView; public CustomFrameLayout(Context context, AttributeSet attrs) { super(context, at

2022-03-28 14:34:15 216

原创 拖拽排序效果的RecyclerView

实现拖拽排序效果的RecyclerView关键代码:ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.Callback() { @Override public int getMovementFlags(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder) { ...

2022-03-16 16:28:25 735

原创 window10配置jdk问题

环境变量-系统变量栏中path添加C:\Program Files\Java\jdk1.7.0_79\bin新建

2018-06-22 15:56:16 615

原创 安卓默认横屏显示

public class Base extends AppCompatActivity{ @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); //全屏显示 if (get...

2018-06-21 14:02:29 2058

原创 组装json数据,json数组

例如:[{"imgid":"4064750aa0777053"}]JSONArray jsonArray = new JSONArray();JSONObject object;try { for (int i = 0; i imgListIds.size(); i++) { object = new JSONObject(); ob

2016-12-05 14:17:28 4126

原创 6.0动态申请权限问题

/** * 判断权限集合 * * @param permissions * @return {true} 已经授权 {false}未授权 */ public static boolean lacksPermissions(Activity mActivity, String... permissions) { for (S

2016-11-25 13:58:01 608

原创 无系统边框自定义圆角AlertDialog

public static AlertDialog dialog(Context context, String titles, String messages,View.OnClickListener onClickListenerLf, View.OnClickListener onClickListenerRf) { final AlertDialog alertDi

2016-11-25 13:54:31 2476

原创 布局平分,中间有竖线,如dialog里取消确定

效果如下:<RelativeLayout android:layout_width="match_parent" android:layout_height="50dp"> <LinearLayout android:layout_width="match_parent"

2016-11-25 13:38:29 654

原创 常见判断

/** * 判断字符串是否为空 */ public static boolean isNotNull(String string) { if (string != null) { return true; } else { return false; } }

2016-10-18 17:25:01 383

原创 双击返回键退出

双击返回键退出private boolean mIsExit;@Override /** * 双击返回键退出 */ public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) {

2016-10-10 18:09:40 379

原创 容器式退出应用

建立一个全局容器,把所有的Activity存储起来,退出时循环遍历finish所有Activityimport java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;public class BaseActivity extends Activit

2016-10-10 17:12:23 304

原创 程序员开发必备工具清单列表

软件一 Beyond CompareBeyond Compare一款不可多得的专业级别的文件夹以及文件对比工具,使用它可以很方便的对比出两个文件夹或者文件的不同之处,并把相差的每一个字节用颜色加以表示,查看方便。软件支持源代码文件的对比、修改、合并,代码目录对比以及代码更新定位,是一款程序工程师的必备源码管理工具。目前Beyond Compare 4可在中文官网下载:http://www.be

2016-10-10 16:12:27 1737

原创 Android PopupWindow背景半透明兼容方案

View contentView; LayoutInflater mLayoutInflater = LayoutInflater.from(activity); contentView = mLayoutInflater.inflate(R.layout.layout_popupwindow, null); pop = new PopupWindo

2016-10-10 16:06:43 664

原创 不用sdk实现分享多张本地图片功能

1.分享到微信好友: Intent weixinintent = new Intent(); ComponentName cop = new ComponentName("com.tencent.mm","com.tencent.mm.ui.tools.ShareImgUI"); weixinintent.setComponent(cop); weixinintent.se

2016-09-05 17:42:32 1333

原创 动画之从上到下,从下往上弹出

从上到下 <translate android:fromYDelta="25" android:toYDelta="100%p" android:duration="300" />从下往上<set xmlns:android="http://schemas.android.com/apk/re

2016-09-02 15:14:10 5782

原创 常用代码片段

1. 给当前界面添加一个透明度/** * 给界面添加透明度 * * @param activity * @param bgAlpha */public static void backgroundAlpha(Activity activity, float bgAlpha) { activity.getWindow().addFlags(WindowManager

2016-08-22 14:07:22 458

原创 关闭所有activity

package com.layout; import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.Application; /** * 一个类 用来结束所有后台activity * @author Administr

2016-07-21 11:41:16 306

原创 更新媒体库

//通知媒体库更新单个媒体库文件Uri fileUri=Uri.fromFile(file);sendBroadcase(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,fileUri));

2016-07-14 13:24:45 443

原创 单例模式

public class Singleton{ private volatile static Singleton singleton; private Singleton() { } public static Singleton getSingleton() { if(singleton==null){ synchronized (Singleton.class)

2016-07-14 11:03:30 275

原创 图像加载缩放

Display display=getWindowManager().getDefaultDisplay(); int dh=display.getHeight(); int dw=display.getWidth(); //加载图像的尺寸而不是图像本身 BitmapFactory.Options bOptions=new BitmapFactory.Options

2016-07-13 11:15:26 344

原创 EditText只能输入中文,字母,汉字

String all = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D\\w]{2,10}";//{2,10}表示字符的长度是2-10 Pattern pattern = Pattern.compile(all); boolean tf = Pattern.matches(all,circlename);tf为true则为中文,字母,汉字

2016-07-01 15:11:50 2516

原创 圆形头像上右上角消息提醒数字

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/all_msg"

2016-06-29 21:10:13 1733

原创 图片缩放

/** * 获取小图片,防止OOM * * @param filePath * @param reqWidth * @param reqHeight * @return */ public static Bitmap getSmallBitmap(String filePath, int reqWidth, int re

2016-06-29 11:10:25 321

原创 遍历删除文件

deleteYasuoFile(new File("/sdcard/.imgYasuo"));private void deleteYasuoFile(File file ) { if (file.isFile()) { file.delete(); return; } if (file.isDirectory()) { File[] childFile = file.listFile

2016-06-15 14:19:59 392

原创 类似%E4%B8%AD%E5%9B%BD这种字符转换问题

服务器端:String encodeStr = URLEncoder.encode("中国", "utf-8");  System.out.println("处理后:" + encodeStr);  //处理后:%E4%B8%AD%E5%9B%BD    客户端:String decodeStr = URLDecoder.decode(encodeStr, "utf-8

2016-06-12 16:37:01 487650 2

原创 图片旋转

float current = 0.0f;旋转时执行:{current=current+90f;Bitmap bm =rotaingImageView((int)current,bigimage);imageFiler.setImageBitmap(bigimage);}/*mine * 旋转图片 * @param angle * @param bitmap * @retu

2016-06-03 16:56:00 438

原创 扫描指定目录下所有图片文件

String myparent=newPath.substring(0, newPath.lastIndexOf("/")).substring(newPath.substring(0, newPath.lastIndexOf("/")).lastIndexOf("/")+1); Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTEN

2016-06-03 16:17:37 1955

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除