Android Elevation设置_安卓动态设置elevation_android elevation设置透明度
shinyuu Android开发 108 0 2020-11-04 16:12:09

简介: 在Android API21,新添加了一个属性:android:elevation,用以在xml定义View的深度(高度),也即z方向的值。除了elevation之外,类似于已有的translationX、translationY,也相对应地新增了一个translationZ,用以在属性动画中动态改变Z值(使用View.setTranslationZ())Z = elevation translationZ 在引入了这个属性之后,主要影响有两个:影响View的阴影影响View相互阻挡顺序 1. 影响View的阴影 Z...

阅读全文

BaseRecyclerViewAdapterHelper开源项目BaseMultiItemQuickAdapter实现多类型源码学习
shinyuu Android开发 227 0 2020-09-23 16:32:53

今天我们来看下BaseRecyclerViewAdapterHelper是如何实现多布局的。首先我们要实现多类型布局,我们的adapter不再是继承自BaseQuickAdapter类,而是继承自其的子类,BaseMultiItemQuickAdapter。而且数据源类型需要继承自MultiItemEntity,MultiItemEntity是一个接口,代码很少:package com.chad.library.adapter.base.entity;/** * https://github.com/CymChad/BaseRecy...

阅读全文

Android MVP架构模式举例_Android中 MVP框架原理理解
shinyuu Android开发 351 1 2020-09-02 13:48:08

在Android项目中,按照MVC的分层,Activity和Fragment应该属于View层,用于展示UI界面,以及接收用户的输入,此外还要承担一些生命周期的工作。所以开发的时候我们经常把一些业务逻辑直接写在Activity里面,这非常直观方便,代价就是Activity会越来越臃肿,而在Activity中,把View和Controller抽离开来,而这就是MVP模式的工作了。 MVP模式的核心思想 MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成Presenter接口,Model类还是原来的Model。这...

阅读全文

Android实现人脸识别技术_Android如何从图片中切取人脸区域?
shinyuu Android开发 966 0 2020-06-17 15:31:12

从一张图片中切出人脸区域是App开发中常用的场景,譬如,现在很多App用户上传头像的时候,喜欢随手自拍。自拍的图片往往在尺寸、位置上并不完美。而App需要在各种千奇百怪的UI场景下显示用户的头像。所以从原始头像图片中切取出人脸区域看起来是个刚需。这里介绍如何应用Android提供的人脸识别接口完成简单的切取人脸区域。 简单起见,输入为一个可能人脸的Bitmap,并且假定目标是识别出一个人脸而已。输出为一个以人脸为中心的原图的部分切图。如果需要自定义长宽比例,或者只需要定位人脸位置,来半侧切图,可以稍加改动实现。 Android官...

阅读全文

Android动态折线图绘制实时更新数据_Socket通信动态折线图
shinyuu Android开发 1457 3 2020-05-20 13:25:13

项目里需要App端不断地从服务器获取数据,实时生成图表。在线程一个线程中不断的从服务器获取数据,然后在Handler中更新界面,每获取一个数据发送一个Message,Handler收到Message之后更新折线图。图表控件使用的是MPAndroidChart。自己写了一个实时更新折线图的工具类。希望有需要的盆友可以直接拿走使用。 1、实时折线图工具类import android.graphics.Color;import com.github.mikephil.charting.charts.LineChart;import co...

阅读全文

Android屏幕适配
琛恋柏 Android开发 925 0 2020-04-20 09:07:33

随着安卓手机的样式越来越多,屏幕的大小也不一致,分辨率大小也多规格化,所以在开发中就遇到很多关于屏幕适配的问题,当然前期我也是没有在乎,后来在面试的过程中,发现很多询问屏幕适配的,在看了几篇博客后,把自己的做法也分享一下,说的比较简单实用,要是看具体的,可以搜搜  http://blog.csdn.net/lmj623565791/article/details/45460089 这篇文章,鸿洋大神写的,比较详细,我这边就说说做法,       这里就需要一个jar包,本文最后给出jar包下...

阅读全文

Android系统剪贴板的复制获取和清空使用
shinyuu Android开发 4906 1 2019-09-04 14:17:02

网上有很多复制粘贴的文章,只是很有可能当放到自己的程序中不知道如何处理,现在给出如下方法,希望对大家有用,Android 系统剪贴板的使用,包括 复制、获取和清空。那么,先来了解一下下面三个类: ClipboardManager: 表示一个剪贴板 ClipData: 剪贴板中保存的所有剪贴数据集(剪贴板可同时复制/保存多条多种数据条目) ClipData.Item: 剪贴数据集中的一个数据条目 复制内容/** * 实现文本复制功能 * * @param content 复制的文本 */public static void copy...

阅读全文

Android设置锁屏壁纸和桌面壁纸的实现_分别设置锁屏和桌面壁纸
shinyuu Android开发 4499 2 2019-07-17 14:13:27

很多时候我们会有这样的需求,那就是用图片可以设置桌面壁纸,设置锁屏壁纸,同时设置桌面和锁屏壁纸,锁屏壁纸只能用静态的图片。这个功能一般情况下系统是提供这个功能的,但如果我们要做自己的APP里面实现就比较麻烦了,但还是有实现方法,效果如下: 话不多说,直接上代码,可以参考一下,通过这个方法就能实现。 设置桌面壁纸:public void SetWallPaper() { WallpaperManager mWallManager = WallpaperManager.getInstance(this); try { ...

阅读全文

Android 7.1 Shortcuts应用长按快捷方式
shinyuu Android开发 1429 0 2019-05-15 15:29:58

今天介绍一个android7.1更新的新功能,叫作Shortcuts的功能真的是太赞了, 利用这个功能以后我们就再也不用一页一页的进入我们想要的页面了, 在桌面长按图标就可以快捷进入(唉, 国产APP这个功能估计要等好久好久…),而且, 这个快捷方式是我们开发者去自定义了! 所以,,就在API发布的当天晚上, 我从文档中了解了一下这个新特性。 这个功能还是很实用的, 有了它, 我们就可以直接打开短信应用给某人发短信啦!下面我们就开始学习一下这个新的Shortcuts在开发中如何使用! 使用Static Shortcuts 什么是S...

阅读全文

去掉Android BottomNavigationView默认的图标和文字缩放动画效
shinyuu Android开发 5856 0 2019-05-08 13:29:05

最近在项目中用到了BottomNavigationView,但是有些时候我们有特殊需求,比如有需求是取消自带的动画效果,不需要label的缩放效果咋办呢?下面给大家分享一下,2句代码去掉这个效果: Java代码BottomNavigationView bottomNavigationView = findViewById(R.id.navigation);bottomNavigationView.setItemTextAppearanceActive(R.style.bottom_selected_text);bottomNavi...

阅读全文

在Android Studio中引入AAR文件_Gradle3.0.0之后本地导入百川电商SDK
shinyuu Android开发 3321 0 2019-03-20 14:39:53

最近在导入阿里百川SDK的时候发现了很多问题,首先百川的电商SDK导入,先来看看一般的导入方法,这种方法是可以的,但前提是你的 com.android.tools.build:gradle 的版本必须是小于3.0.0的,如果大于3.0.0,那么很遗憾你怎么编译也不会成功的。所以就得手动引入,那么手动引入的话,就要涉及到引入AAR文件了,这是本文的要点。 gradle 3.0.0会导致引入失败//fastjsoncompile ´com.alibaba:fastjson:1.2.9´//支付compile &...

阅读全文

Android P http网络请求_Cleartext HTTP traffic to xxx not permitted解决办法
shinyuu Android开发 3931 1 2018-11-02 13:40:21

为保证用户数据和设备的安全,Google针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输。 需要使用下一代(Transport Layer Security)传输层安全协议,而 Android Nougat 和 Oreo 则不受影响。因此在Android P 使用HttpUrlConnection进行http请求会出现以下异常。W/Sys...

阅读全文

Android WebView获取HTML内容_WebView获取网页元素属性值
shinyuu Android开发 6789 3 2018-10-16 13:10:38

在Android开发过程中,我们可能需要做一些模拟操作,可能需要获取HTML页面的一些信息,比如要获取网页中第一个IMG标签的src属性,此时就需要借助重写WebViewClient的onPageFinished方法,在onPageFinished中加载一段js代码,js代码再调用本地方法,具体代码如下: 1、初始化WebView@SuppressLint("SetJavaScriptEnabled")private void init() { mWebView = (WebView) findViewById(R.id.w...

阅读全文

Android HttpURLConnection网络请求get和post请求两种方式
shinyuu Android开发 3692 0 2018-08-14 13:35:08

在JDK的java.net包中已经提供了访问HTTP协议的基本功能的类:HttpURLConnection。HttpURLConnection是Java的标准类,它继承自URLConnection,可用于向指定网站发送GET请求、POST请求。它在URLConnection的基础上提供了如下便捷的方法,这里主要讲一些在Android中,这么使用HttpURLConnection POST 和 GET 去请求服务器,话不多说,看代码: GET请求/** * 从网络获取json数据,(String byte[}) * @param p...

阅读全文

Android获取SIM卡信息和当前手机号码
shinyuu Android开发 7185 2 2018-08-03 14:52:06

手机号码不是所有的SIM卡都能获取。只是有一部分可以拿到。这个是由于移动运营商没有把手机号码的数据写入到SIM卡中,能够读取SIM卡号的话应该有前提,那就是SIM卡已经写入了本机号码,不然是无法读取的。具体的什么样的卡能获取到号码,要自己具体测试才可以,就算是同一个运营商同一个套餐的卡也会有差别。 直接附上代码,具体实现new一个PhoneInfoUtils对象,调用其方法即可。public class PhoneInfoUtils { private static String TAG = "PhoneInfoUtils";...

阅读全文

WebView无法清理当前页面历史记录_Webview清空历史纪录正确方法
shinyuu Android开发 3707 1 2018-07-17 13:16:25

经过数个小时的Google任然没有答案后,我打算写下这篇文章,让之后遇到这个问题的小伙伴能快速解决问题。 看到标题首先会想到webview自身应该有个公开方法来起到这个作用,输入个clear,果然编译器提示有个clearHistory方法,于是就用了上去。结果完全不起作用啊!只能求助度娘了。各种搜索查资料,最后终于找到最佳的解决方案。 clearHistory()作用 调用方法时,清空当前页面之前的所有记录,注意是当前 当前 当前(重要的事情说三遍)也就是说当前的页面记录并不会被删除。这样的话我从A打开B同时调用该方法,此时当前页...

阅读全文

Android获取唯一标识_获取Android设备的唯一标识符
shinyuu Android开发 1781 0 2018-07-06 13:22:07

最近做的一个需求,客户要求账号最多绑定三台设备。我之所以说是唯一标识符而不是获取Android设备的IMEI是因为IMEI并不是唯一的解决方案,也不一定是最优解,具体还要看需求。 IMEI 先说一下最常用的IMEI,android系统中通常用下面这段代码获取。/** * 获取手机IMEI号 * * 需要动态权限: android.permission.READ_PHONE_STATE */public static String getIMEI(Context context) { TelephonyManager tel...

阅读全文

DD记账
top
+