Android
文章平均质量分 70
涂文远
没有最好,只有更好,努力使自己变得更好!!!
展开
-
LinerLayout在flutter体现
android 原生LinerLayout 垂直、水平 及 权重<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height原创 2020-06-04 16:22:30 · 261 阅读 · 0 评论 -
在Android 7.0上PopupWindow.showAsDropDown不起作用的解决方法
/** * Created by twy on 2017/7/7. */public class MyPopWindow extends PopupWindow { public MyPopWindow(final Activity context,View view){ LayoutInflater inflater = (LayoutInflater) cont原创 2017-07-10 10:20:10 · 876 阅读 · 0 评论 -
金额小数点后面和前面字体大小不一致的实现
核心代码:<TextView android:id="@+id/all_price" android:layout_width="wrap_content" android:layout_height="match_parent"原创 2017-07-17 17:59:22 · 7684 阅读 · 1 评论 -
从源码上分析ListView/GridView调用setEmptyView不起作用的原因及解决办法
当我们使用ListView或GridView的时候,当列表为空的时候,我们往往需要一个Loading或者一段提示文字又或者一个特殊的View来提示用户操作,这个时候就用到了setEmptyView()方法。setEmptyView()其实是AdapterView的方法,而我们开发中常用到的ListView, GridView, ExpandableListView等都是继承于Adapter原创 2017-06-29 09:32:31 · 375 阅读 · 0 评论 -
如何去除ListView中Header View、Footer View中的分割线
方法1:先调用ListView的addHeaderView(View v, Object data, boolean isSelectable)方法添加Header View,注意第三个参数 isSelectable 必须为true,否则无效然后调用ListView的setHeaderDividersEnabled(boolean headerDividersEnabled)方原创 2017-07-14 18:47:33 · 1452 阅读 · 0 评论 -
android 5.0之后原生webview同时用https和http加载HTML不加载图片解决方案
公司之前用http被劫持了,webview打开的网页里面有小广告,于是老大就把请求链接改成了https,但是我们的图片服务器还是http的。这一改,对于5.0以下的没有影响,但是由于5.0是默认不支持mixed content的,即不支持同时加载https和http混合模式。所以要这样来:if (Build.VERSION.SDK_INT >= 21) { webSettings.s原创 2017-06-21 11:40:05 · 325 阅读 · 0 评论 -
SpannableString
SpannableString原创 2016-10-22 18:52:31 · 759 阅读 · 0 评论 -
Android ImageView的setImageLevel和level-list使用
Android ImageView的setImageLevel和level-list使用原创 2016-10-27 17:46:09 · 791 阅读 · 0 评论 -
RxJava与Retrofit结合的最佳实践
翻译 2016-12-22 16:32:20 · 326 阅读 · 0 评论 -
android 背景选择器
android 背景选择器原创 2016-10-21 09:57:46 · 522 阅读 · 0 评论 -
webView使用内部浏览器加载网页
webView使用内部浏览器加载网页原创 2016-10-26 17:02:24 · 1955 阅读 · 0 评论 -
RecyclerView的万能分割线
RecyclerView的万能分割线转载 2016-10-31 11:59:26 · 323 阅读 · 0 评论 -
软键盘显示隐藏事件监听
软键盘显示隐藏事件监听现在的Android设备很少才会有硬键盘,绝大多数都是软键盘,而SDK和API中却没有软键盘隐藏变化的相关事件,没有直接支持不代表做不到。我们通过其他的方式还是可以做到监听软键盘显示与隐藏状态变化的。override onKeyPreIme当EditText获得焦点时,或者用户点击时,都会把软键盘弹起来(2.x版本长按MENU也可以强制弹出原创 2017-09-08 14:54:38 · 572 阅读 · 0 评论 -
转换金额
/** * 转换金额 * @return */ public static String convertMoneyToStr(double money){ ILog.d("传入的数据为:" + money); Locale.setDefault(Locale.US); DecimalFormat usForm原创 2017-07-17 18:31:47 · 308 阅读 · 0 评论 -
AndroidManifest占位符(实现根据正式还是测试环境设置不同的app名称)
占位符,其实是一个可以被替换的临时标记,比如${name},我们就可以使用真实的name变量的值替换这个占位符,达到可以动态的修改这个占位符的目的。所以AndroidManifest文件的占位符,其实是帮助我们动态修改AndroidManifest文件里的内容AndroidManifest清单文件<manifest xmlns:android="http://schemas.android....原创 2018-03-26 12:10:39 · 3103 阅读 · 0 评论 -
ViewPager翻转特效
先来看个简单的特效 再一步步分析代码也比较简单activity_main.xml<android.support.v4.view.ViewPager android:id="@+id/vp" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="...原创 2019-05-17 17:53:04 · 746 阅读 · 2 评论 -
Camera实现3D效果
android.graphics.Camera:3D开发官方介绍A camera instance can be used to compute 3D transformations and generate a matrix that can be applied, for instance, on aCanvas。一个照相机实例可以被用于计算3D变换,生成一个可以被使用的Matrix...原创 2019-05-24 16:48:51 · 978 阅读 · 0 评论 -
自定义属性动画框架
先来观察完整的动画效果分析:每个child都可以设置自己的属性动画 根据滑动出自身的高度比例来进行开发者设置的属性动画(平移 渐变 缩放 透明度...)既然是动画框架封装 肯定是希望开发者用的更爽,代码简洁 意图清晰。首先设定好自定义的属性参数<declare-styleable name="DiscrollView_LayoutParams"> &...原创 2019-05-15 15:43:24 · 198 阅读 · 0 评论 -
Android水波纹效果
效果展示代码实现public class WaveView1 extends View { private Paint mPaint; private int ww = 400; private int wh = 50; private int dx; //private Handler handler = new Handler(Loope...原创 2019-04-25 14:56:26 · 287 阅读 · 0 评论 -
PathMeasure
PathMeasure是一个用来测量Path的类,主要有以下方法构造方法/** * 创建一个空的pathMeasure */PathMeasure()/** * 创建一个pathMeasure 并关联一个指定的path(path岁要创建完成) */PathMeasure(Path path, boolean forceClosed)公共方法/** * 关联一个P...原创 2019-04-26 17:56:22 · 245 阅读 · 0 评论 -
Android--Canvas
draw系列canvas.drawArc1.方法drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter,Paint paint)drawArc(float left, float top, float right, float bottom, float startAngle, float ...原创 2019-04-17 18:20:49 · 178 阅读 · 0 评论 -
Adroid Paint属性(图形、文字)
Paint mPaint = new Paint();//初始化画笔mPaint.setColor(Color.BLUE);//设置画笔颜色mPaint.setAlpha(255);//设置透明度 0-255mPaint.setStrokeWidth(3);//设置画笔宽度canvas.drawLine(100,100,300,100,mPaint);//画线// mPaint.s...原创 2019-04-11 18:32:58 · 302 阅读 · 0 评论 -
mvc mvp mvvm
原创 2019-02-27 15:23:12 · 128 阅读 · 0 评论 -
OKHttp源码分析
原创 2019-02-27 15:22:26 · 111 阅读 · 0 评论 -
appA拉起appB 如果appB已经在后台运行 获取不到参数的解决
appA 应用/** * 通过包名拉起app * @param packagename 要拉起app的包名 */ public static void doStartApplicationWithPackageName(String packagename) { // 通过包名获取要跳转的app,创建intent对象 I...原创 2019-01-21 14:28:00 · 724 阅读 · 0 评论 -
android 把View转成bitmap
private Bitmap getViewBitmap(View addViewContent) { addViewContent.setDrawingCacheEnabled(true); addViewContent.measure( View.MeasureSpec.makeMeasureSpec(0, View.Meas原创 2016-11-26 15:08:51 · 409 阅读 · 0 评论 -
Android M 6.0以上 需要运行时申请的权限--easypermissions库
PROTECTION_NORMAL类权限当用户安装或更新应用时,系统将授予应用所请求的属于 PROTECTION_NORMAL 的所有权限(安装时授权的一类基本权限)。只需要在AndroidManifest.xml中简单声明这些权限就好,安装时就授权。不需要每次使用时都检查权限,而且用户不能取消以上授权。这类权限包括:android.permission.ACCESS_LOCATION原创 2016-12-08 10:32:20 · 1609 阅读 · 0 评论 -
Canvas基础知识
public class TestView1 extends View { private Bitmap mBitmap; private BitmapShader mBitmapShader; public TestView1(Context context) { super(context); } public TestView1(Co原创 2017-05-19 11:33:24 · 585 阅读 · 0 评论 -
android WebView加载不出网页内容This request has been blocked; the content must be served over HTTPS.
项目中遇到加载网页的时候都出现加载不出内容或者内容不全。但是QQ浏览器或者系统浏览器都没问题,也就是还是自己写的Webview处理有问题。总结了一下大概下面两个问题引起:实际问题可以参看Android Studio 打印的Log,会有Webview的追踪内容为chromium: xxxxxx.情况一: 无法加载JS内容写的页面。设置setDomStorage原创 2017-04-21 10:27:27 · 1459 阅读 · 1 评论 -
使用FragmentTabHost的时候,Fragment不能保持状态的解决方案
使用FragmentTabHost的时候,Fragment不能保持状态,每次都会刷新画面原创 2016-11-15 09:44:34 · 1286 阅读 · 0 评论 -
INSTALL_FAILED_UPDATE_INCOMPATIBLE
今天遇到一个很奇葩的问题 在安装的时候老出现这个错误后面找到解决方案第一步:先把原来已经存在的相同包名的APK删除,如:adb shell rm system/app/OutdoorMeter/OutdoorMeter.apk第二步:将data/data/目录下该应用的包名的目录删除掉,如:adb shell rm -rf data/data/com.r原创 2016-12-10 16:13:10 · 301 阅读 · 0 评论 -
导入httpClient.jar包遇到的坑
错误日志:Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: D原创 2016-11-17 15:01:09 · 7148 阅读 · 0 评论 -
android webview ZoomButtonsController 导致android.view.WindowLeaked 问题彻底解决
android webview ZoomButtonsController 导致android.view.WindowLeaked 问题彻底解决原创 2016-10-31 15:41:09 · 1038 阅读 · 0 评论 -
android ScrollView嵌套ListView listview显示不全的问题
android ScrollView嵌套ListView listview显示不全的问题原创 2016-10-21 09:12:28 · 336 阅读 · 0 评论 -
Adnroid 百度地图多标注 显示在一个页面的问题
Adnroid 百度地图多标注 显示在一个页面的问题原创 2016-10-20 18:06:36 · 454 阅读 · 0 评论 -
Android Dialog无法去除遮罩
Android Dialog无法去除遮罩的问题原创 2016-10-20 17:58:12 · 7634 阅读 · 0 评论 -
Android ListView setEmptyView
ListView setEmptyView 设置空视图时 在请求数据的时候 空视图就已经显示 的解决方案原创 2016-10-28 23:21:44 · 323 阅读 · 0 评论 -
fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .
fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .转载 2016-10-27 23:52:36 · 236 阅读 · 0 评论 -
在使用开源library的PullToRefreshView中,页面初始化时自动触发下拉刷新
下拉刷新几乎是每个应用都会有的功能,且大部分用的都是开源项目,下载地址:下拉刷新。如何在页面刚打开的时候自动触发下拉刷新的呢?只需要一句代码,在PullToRefreshAdapterViewBase类中加入下面的代码:public void autoRefresh(){ this.postDelayed(new Runnable() {原创 2017-04-07 17:52:02 · 489 阅读 · 0 评论 -
Retrofit2 完全解析 探索与okhttp之间的关系
一、概述之前写了个okhttputils的工具类,然后有很多同学询问这个工具类和retrofit什么区别,于是上了下官网,发现其底层对网络的访问默认也是基于okhttp,不过retrofit非常适合于restful url格式的请求,更多使用注解的方式提供功能。既然这样,我们本篇博文首先研究其所提供的常用的用法:一般的get、post请求动态url,动态参数设置,各种注转载 2016-08-03 00:12:22 · 498 阅读 · 0 评论