
[Android开发]Android 屏幕适配
基本概念 Px不同设备显示效果相同。这里的“相同”是指像素数不会变,比如指定UI长度是100px,那不管分辨率是多少UI长度都是100px。 也正是因为如此才造成了UI在小分辨率设备上被放大而失真,在大分辨率上被缩小。 Screen Siz...
基本概念 Px不同设备显示效果相同。这里的“相同”是指像素数不会变,比如指定UI长度是100px,那不管分辨率是多少UI长度都是100px。 也正是因为如此才造成了UI在小分辨率设备上被放大而失真,在大分辨率上被缩小。 Screen Siz...
Android中ActivityManager类似于Windows下的任务管理器,能得到正在运行程序的内容等信息 List<ActivityManager.RunningServiceInfo> getRunningServic...
手机摇晃 /** * 处理手机摇晃的监听 * * @author Administrator * */ public abstract class ShakeSensor implements SensorEventListener { /...
视频播放器页面音量控制Seekbar实现竖直的效果。竖直只是将Seekbar转了90度或-90度,我们可以把画布转一个角度,然后交给系统去画, 具体的做法就是重写ondraw()调整画布,然后调用super.onDraw()。 向上的See...
Android数据存储的几种形式: Internal StorageStore private data on the device memory. 通过mContext.getFilesDir()来得到data/data/包名/File目...
在res-xml中新建一个searchable.xml <searchable xmlns:android="http://schemas.android.com/apk/res/android" android:label="@st...
屏幕锁屏以及解锁时会分别发送SCREEN_ON和SCREEN_OFF广播,但是这两个广播只能通过代码的形式注册才能被监听到,在AndroidManifest.xml中注册根本监听不到。 public class ScreenActionRe...
HttpClient模拟表单上传 如果Android中自带的HttpClient不能实现上传的功能,就下载HttpClient 3.1版本 public void upload(View view){ HttpClient client =...
PullToRefreshListView 原理: 拉刷新ListView无非就是对普通的List View添加一个HeaderView,然后通过对ListView onTouchEvent来获取当前下拉刷新的状态。然后去改变HeaderV...
系统所有组件的样式声明都在data-res-values-styles.xml中,如果我们想要修改某个系统组件的样式只需要拷贝它的样式到本地后修改一下就行了。 自定义ProgressBar样式 去系统的styles.xml中搜寻Progre...
屏幕亮度调节 /** * 滑动改变亮度 * @param percent */ private void onBrightnessSlide(float percent) { if (mBrightness < 0) { // mBr...
如何判断程序是否是在后台运行了 /** * 判断当前的应用程序是否在后台运行,使用该程序需要声明权限android.permission.GET_TASKS * @param context Context * @return true表示...
在应用程序中安装程序需要权限<uses-permission android:name="android.permission.INSTALL_PACKAGES" /> 示例代码 安卓中提供了安装程序的功能,我们只要启动安装程序...
资源文件拷贝的三种方式 类加载器(类路径) 用Classloader.getResourceAsStream()来读取类路径中的资源,然后用FileOutputStream写入到自己的应用中(sdk开发的时候经常用这种方式)。 这种方式必须...
系统Toast提示时不能够进行取消,如果有多个Toast时会很长时间才消失。自定义Toast通过WindowManager来进行手动的控制Toast的显示与隐藏。能有效的解决该问题。 Toast提示的布局 <?xml version=...
自定义一个背景颜色,让颜色从左到右变化的那种 在res-drawable目录下新建一个xml文件。里面xml文件内容的根节点是shape <?xml version="1.0" encoding="utf-8"?> <sh...
状态栏通知布局custom_notification.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://sch...
自定义控件的步骤: 自定义一个View继承ViewGroup等相似效果的View; 重写构造方法 可以在构造方法中附加要显示的内容如下:View.inflate(context, R.layout.ui_setting_view, this...
Android Q 新引入的 AudioPlaybackCapture API 允许应用获取其它应用中的音频。在这个 API 的帮助下,开发者将顺利处理多种业务场景,为用户提供轻松简便的内容分享与无障碍体验。 部分常见用例包括: 实时字幕:...
Android Q 测试版计划,此计划将为您提供针对下一个 Android 版本实现您的应用兼容性以及开发应用所需的一切。它是一款免费软件,您只需下载测试版 SDK 和工具即可立即使用。 硬件和模拟器系统映像: 在 Pixel 设备和 An...
Android Q 分区储存,应用沙盒是 Android 设计的核心部分,它可将不同的应用隔离。基于应用沙盒的基本原则,Android Q 引入了分区储存特性。自 Beta 1发布以来,我们收到了许多开发者关于这些变更的宝贵反馈,感谢大家帮...
为了提高 Android 应用的兼容性,降低开发者们的维护成本,我们从 Android 9 Pie 开始引入非 SDK 接口限制。在这个视频中,我们介绍了非 SDK 接口限制在 Android Q 中的演进,包括限制名单的变化、我们为常见用...
Android Q Beta 测试计划,Android Q Beta 3 在不久前的 Google I/O 2019 开发者大会上正式发布,这也意味着 Android Q 最终版离我们越来越近了。我们准备了一系列的相关资源提供给开发者,帮助...
本文介绍一批Android Q上的常见问题。为应用添加 64 位架构支持会带来 APK 的体积增大,但 Google Play 只允许上传最大 100MB 的 APK,这种情况应该如何解决?我们强烈建议您使用Android App Bund...
本文介绍Android Q的安全性更新状况。 每次发布 Android 的新版本,我们的首要任务之一就是提高平台的安全防护。在过去几年,安全方面的优化在整个生态圈都取得了喜人的成绩,2018 年亦是如此。 在 2018 年第四季度,接收安全...