
Android项目记录
jwangzzzz
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
禁用父布局的事件拦截
getParent().requestDisallowInterceptTouchEvent(true);原创 2022-02-22 09:29:48 · 381 阅读 · 0 评论 -
Android .DR文件找不到的解决方案
1.org.gradle.jvmargs=-Xmx1536m -Dfile.encoding=UTF-8 2.把所有的汉字都写入string.xml中原创 2022-01-18 08:40:59 · 2531 阅读 · 0 评论 -
上方带数字进度的progressbar
package com.youjing.yingyudiandu.speech;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.LinearGradient;import android.graphics.Paint;import android.graphics.Shader;import .原创 2021-12-17 10:41:07 · 534 阅读 · 0 评论 -
float类型相减精度问题
BigDecimal b1 = new BigDecimal(Float.toString(100f));BigDecimal b2 = new BigDecimal(Float.toString((beicuokoufen + tishikoufen + chongbeikoufen + yongshikoufen)));score = b1.subtract(b2).floatValue();原创 2021-12-16 13:16:43 · 414 阅读 · 0 评论 -
glide加描边
package com.youjing.yingyudiandu.utils;import android.graphics.Bitmap;import android.graphics.BitmapShader;import android.graphics.Canvas;import android.graphics.Paint;import androidx.annotation.NonNull;import com.bumptech.glide.load.engine.bitmap.原创 2021-12-16 11:24:35 · 2234 阅读 · 0 评论 -
Android保存activity截图
try { ShareImageUtils.layoutView(other, 750, 1334); MyTask task = new MyTask(other); task.execute();} catch (Exception e) { e.printStackTrace();} class MyTask extends AsyncTask<String, String, String> { ConstraintLayo.原创 2021-12-14 09:06:26 · 1416 阅读 · 0 评论 -
base64编解码
String content_base64 = Base64.encodeToString(content.getBytes(), Base64.NO_WRAP);String content = new String(Base64.decode(content_string.getBytes(), Base64Coder.NO_WRAP));原创 2021-12-14 09:02:18 · 548 阅读 · 0 评论 -
给Textview的每个文字添加背景框
import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.RectF;import android.text.style.ReplacementSpan;import androidx.annotation.NonNull;/** * 给每个文字添加方框 */public class RoundBackgroundColorSpan extends ReplacementS.原创 2021-10-26 08:42:58 · 1058 阅读 · 1 评论 -
宽高自适应的正方形图片展示
//布局<com.youjing.yingyudiandu.studytools.utils.SquareLayout android:visibility="gone" android:id="@+id/ll_imgupload" android:layout_width="match_parent" android:background="#EEEEEE" android:layout_height="wrap_content"> .原创 2021-09-15 09:28:48 · 372 阅读 · 0 评论 -
从imgview截取bitmap
private Bitmap getBitmapFromImgView(ImageView mImageView) { mImageView.setDrawingCacheEnabled(true); Bitmap bitmap = Bitmap.createBitmap(mImageView.getDrawingCache()); mImageView.setDrawingCacheEnabled(false); return bi...原创 2021-09-07 11:40:46 · 465 阅读 · 0 评论 -
webview长截屏截图
public void printPDF() { String name = webView.getTitle() + ".pdf"; PrintManager printManager = (PrintManager) getActivity().getSystemService(Context.PRINT_SERVICE); PrintAttributes.Builder builder = new PrintAttributes.Builder(); builder..原创 2021-09-07 11:38:15 · 590 阅读 · 0 评论 -
app启动页的适配
https://zhuanlan.zhihu.com/p/342038493原创 2021-08-15 00:05:55 · 174 阅读 · 0 评论 -
popwindow android7弹出位置bug
1.自定义popwindow重写showAsDropDown方法 @Override public void showAsDropDown(View anchor) { if (Build.VERSION.SDK_INT >= 24) { Rect rect = new Rect(); anchor.getGlobalVisibleRect(rect); int h = anchor.getRe原创 2021-08-13 10:50:52 · 222 阅读 · 0 评论 -
android广播
//发送广播Intent intents = new Intent("fresh_user_info");intents.putExtra("resource", "1");LocalBroadcastManager.getInstance(context).sendBroadcast(intents); private LocalBroadcastManager broadcastManager; /** * 注册广播接收器 */ private.原创 2021-07-01 15:48:48 · 97 阅读 · 0 评论 -
RecyclerView onTouch触摸事件和点击事件冲突的解决办法
LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false) { @Override public boolean canScrollHorizontally() { //连读时允许自动滚动 if (isScroll) { .原创 2021-06-25 16:33:31 · 1136 阅读 · 0 评论 -
解决recyclerview滑动被当作点击事件的问题
mRecyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() { public float y1, y2, x2, x1; @Override public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) { if (e....原创 2021-06-25 16:29:16 · 494 阅读 · 0 评论 -
textview行距
android:lineSpacingExtra="6dp"原创 2021-06-23 14:29:42 · 157 阅读 · 0 评论 -
判读是否打开了通知栏权限
private boolean isNotificationEnabled(Context context) { boolean isOpened = false; try { isOpened = NotificationManagerCompat.from(context).areNotificationsEnabled(); } catch (Exception e) { e.printStack...原创 2021-06-19 12:51:39 · 153 阅读 · 0 评论 -
Android 9 请求网络报异常:Cleartext HTTP traffic not permitted
因为从Android9.0(API 28)开始,NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted(), 将return false。这表示Android默认将禁止明文访问网络,只允许使用https url访问原创 2021-06-17 22:44:31 · 1162 阅读 · 2 评论 -
2021-06-03
private Bitmap uriToBitmap(Uri selectedFileUri) { Bitmap bitmap = null; try { ParcelFileDescriptor parcelFileDescriptor = getContentResolver().openFileDescriptor(selectedFileUri, "r"); FileDe...原创 2021-06-03 21:10:22 · 197 阅读 · 1 评论 -
给RecyclerView的GridLayoutManager自定义间距
package com.youjing.yingyudiandu.dectation.utils;import android.content.Context;import android.graphics.Rect;import android.view.View;import androidx.annotation.NonNull;import androidx.recyclerview.widget.RecyclerView;public class InnerItemDecora.原创 2021-05-25 17:21:25 · 759 阅读 · 1 评论 -
上层布局被穿透
问题:点击上层时会触发下层的事件解决方案:在不希望被穿透的布局上加入:android:clickable="true"android:focusable="true"原创 2021-04-28 15:51:14 · 119 阅读 · 0 评论 -
shape小圆点
<?xml version="1.0" encoding="utf-8"?><!-- 单一颜色的实心圆 --><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" android:useLevel="false"> <!-- 图形填充色 --> <solid android:color="@color.原创 2021-04-27 10:30:33 · 260 阅读 · 0 评论 -
RecyclerView不显示圆角怎么办
原因:RecyclerView被item遮挡解决办法:import android.graphics.Canvas;import android.graphics.Path;import android.graphics.RectF;import android.graphics.Region;import android.os.Build;import android.view.ViewTreeObserver;import androidx.recyclerview.wid.原创 2021-04-26 16:49:01 · 1663 阅读 · 0 评论 -
封装dialog
public class AlertDialog extends Dialog { AlertController mAlert; public AlertDialog(@NonNull Context context, @StyleRes int themeResId) { super(context, themeResId); mAlert = new AlertController(this, getWindow()); } pu...原创 2021-04-26 16:46:58 · 275 阅读 · 1 评论 -
RecyclerView显示不全
<androidx.recyclerview.widget.RecyclerView android:id="@+id/re_mybooklist" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="20dp" app:layout_constraintBottom_toBottomOf="..原创 2021-04-20 16:49:56 · 244 阅读 · 0 评论 -
RecyclerView最后一行显示不全
RecyclerView高度使用wrap_content时最后一行显示不全,需在RecyclerView包裹一层布局,并确定外层布局的高度;或者分配剩余空间;如果父布局使用ConstraintLayout,则确定顶部和底部定位,并且高度设为0dp。如果外层嵌套ScrollView,改成NestedScrollView。<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.Constrai.原创 2021-04-14 14:26:58 · 982 阅读 · 0 评论 -
查看Android冲突的jar包
Androidstudio命令行中输入gradlew -q app:dependencies原创 2021-04-11 16:01:02 · 416 阅读 · 0 评论 -
Android使用caramex拍照
1.carameview已经废弃,拍照慢不建议使用2.PreviewViewbuild.gradle // CameraX 核心库使用 camera2 实现 implementation "androidx.camera:camera-camera2:1.1.0-alpha01" // 可以使用CameraView implementation "androidx.camera:camera-view:1.0.0-alpha21"// // 可以使用供应商原创 2021-03-31 10:42:52 · 653 阅读 · 1 评论 -
Android蒙版效果
package com.youjing.yingyudiandu.diandubook.widget;import android.graphics.Canvas;import android.graphics.ColorFilter;import android.graphics.Paint;import android.graphics.Path;import android.graphics.PorterDuff;import android.graphics.PorterDuffXf.原创 2021-03-24 19:46:08 · 709 阅读 · 0 评论 -
动态渐变的textView
package com.youjing.yingyudiandu.englishreading.utils;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.LinearGradient;import android.graphics.Matrix;import android.graphics.Paint;i.原创 2021-03-23 17:25:49 · 149 阅读 · 0 评论 -
recyclerview实现翻页效果
import androidx.recyclerview.widget.RecyclerView;import androidx.recyclerview.widget.SnapHelper;import android.view.View;/** * 实现RecyclerView实现类似ViewPager的PageChangeListener监听 */public class RecyclerViewPageChangeListenerHelper extends RecyclerView.原创 2021-03-23 17:24:49 · 2063 阅读 · 0 评论 -
recyclerview item复用导致的问题解决办法
给item设置tag,根据tag进行判断1.在adapter对应的bean中添加字段private int tag; public int getTag() { return tag;}public void setTag(int tag) { this.tag = tag;}2.adapter.setdata时添加唯一tagdianduUtilBean.getData().get(i).setTag(i);3.在onBindItemH.原创 2021-03-23 17:21:00 · 1289 阅读 · 0 评论 -
可随手指滑动的布局DragRelativeLayout
package com.youjing.yingyudiandu.diandubook.widget;import android.content.Context;import android.content.res.TypedArray;import android.util.AttributeSet;import android.util.DisplayMetrics;import android.view.MotionEvent;import android.view.View;im.原创 2021-03-23 17:09:36 · 331 阅读 · 0 评论 -
RecyclerView不调用onBindViewHolder 导致界面不刷新
当 RecyclerView 的条目很少的时候,将 RecyclerView 从上滑动到下,这个时候是正常的,onBindViewHolder 会调用,不过此时从底部上划的时候,上方的 item 从不可见到可见的这个过程中,onBindViewHolder 并没有调用。recyclerView.setItemViewCacheSize(int);//传入-1就可解决一般是adapter中存在另外的RecyclerView...原创 2021-03-23 14:05:26 · 3372 阅读 · 0 评论 -
android gradle下载慢的解决办法
https://services.gradle.org/distributions/手动下载放入C:\Users\username\.gradle\wrapper\dists\gradle-5.6.4-all\ankdp27end7byghfw1q2sw75f【相应位置】不需要解压重新打开Android studio即可原创 2021-03-05 23:48:38 · 210 阅读 · 0 评论 -
截取字符串信息
private void getDianduDate(String brief) { //截取字符串信息 Pattern p = Pattern.compile("-?\\d+"); Matcher m = p.matcher(brief); int index = 0; while (m.find()) { switch (index) { case 0: ...原创 2021-03-12 10:44:38 · 142 阅读 · 0 评论 -
利用1248码解决状态问题
//状态集合 private int STATUS = 0X0000;//初始状态 //1248码组成1-15任意数字 private final int STATUS_1 = 0X0001; private final int STATUS_2 = 0X0002; private final int STATUS_3 = 0X0004; private final int STATUS_4 = 0X0008; private final ...原创 2021-02-20 10:59:44 · 947 阅读 · 0 评论 -
onresume方法无限调用
不要在onresume获取权限(广告集成)原创 2021-01-27 17:53:34 · 631 阅读 · 0 评论 -
nestedScrollView滑动监听
nestedScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() { @Override public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { if (s.原创 2020-05-22 15:23:48 · 2621 阅读 · 0 评论