安卓系统API的使用
安卓系统给我提供很多API,现在我们就遇到一点写一点吧。
1、获取手机的内存大小以及SD卡的内存大小
/*** 初始化系统的数据*/private void initData() {//获取Rom内存的运行剩余的内存long rom = Environment.getDataDirectory().getFreeSpace();//获取SD卡内存的运行剩余的内存long sd = Environment.getExternalStorageDirectory().getFreeSpace();//格式化内存显示 mString romStr = android.text.format.Formatter.formatFileSize(MainActivity.this, rom);//格式化内存显示 mString sdStr = android.text.format.Formatter.formatFileSize(MainActivity.this, sd);}
- 1
我们Android平台是一个又一个的Activity组成的,每一个Activity有一个或者多个View构成。所以说,当我们想显示一个界面的时候,我们首先想到的是建立一个Activity,然后所有的操作在Activity里面实现,或者是一个Dialog或者Toast。这种方式固然简单,但是在有些情况下,我们要求的只是简单的显示,用Activity显然是多余,这个时候,我们如何处理呢?
原来,整个Android的窗口机制是基于一个叫做 WindowManager,这个接口可以添加view到屏幕,也可以从屏幕删除view。它面向的对象一端是屏幕,另一端就是View,直接忽略我们以前的Activity或者Dialog之类的东东。其实我们的Activity或者Diolog底层的实现也是通过WindowManager,这个 WindowManager是全局的,整个系统就是这个唯一的东东。它是显示View的最底层了。
写一个简单的代码:
Java代码
WindowManager mWm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
Button view = new Button(this);
view.setText("window manager test!");
WindowManager.LayoutParams mParams = new WindowManager.LayoutParams();
mWm.addView(view, mParams);
- 1
Java代码
//改变Dialog背景透明度
Dialog dg = new Dialog(this);
Window window = dg.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.alpha = 0.5f;
window.setAttributes(lp);
//lp.alpha = 0.5f 透明度设置 其值要合理 自己反复测试
//为什么要这个技巧 因为很多人说:弹出Dialog会导致背景变暗 有Animation发生 导致性能变慢 可以用这个改变之 而且可以借助这个 使得全透明 不挡住Dialog后面内容的显示
- 1
一般在刚开始开发android时,会犯一个错误,即在View的构造函数中获取getWidth()和getHeight(),当一个view对象创建时,android并不知道其大小,所以getWidth()和getHeight()返回的结果是0,真正大小是在计算布局时才会计算,所以会发现一个有趣的事,即在onDraw( ) 却能取得长宽的原因。
Java代码
width = activity.getWindowManager().getDefaultDisplay().getWidth();
height = activity.getWindowManager().getDefaultDisplay().getHeight();
安卓系统API的使用相关推荐
- centos 8 的图形操作界面在哪_商显首款基于安卓系统的图形化调用API软件—智微智能SPIRIT测评...
出色优美的数字显示可谓是商业展示的灵魂所在,可迅速吸引人们的目光,智能多样化地进行信息展示.随着各种数字显示产品与技术的进步,新型数字商用显示在生活中随处可见.各类数字标牌.POS设备.自助服务终端. ...
- 安卓系统源码编译系列(六)——单独编译内置浏览器WebView教程
原文 http://blog.csdn.net/zhaoxy_thu/article/details/18883015 本文主要对从安卓系统 ...
- android8卡顿,Android 8.0系统曝光,解决了安卓系统卡顿的问题
原标题:Android 8.0系统曝光,解决了安卓系统卡顿的问题 8.0拟于今年5月17-19日召开的2017年谷歌I/O大会上正式宣布,之前已经曝光了该系统的一些特性,例如开发代号为奥利奥(Oero ...
- 安卓系统监控任务管理器App推荐
1System Monitor回顶部 相信不少朋友都有开启电脑后,首先开启一个任务管理器,然后就盯着波动的曲线看CPU N个核心到底能用到几个核的习惯.特别是对于那些强迫症病友来说,看不到CPU.内存 ...
- 安卓系统网络服务器地址,安卓系统 云服务器地址
安卓系统 云服务器地址 内容精选 换一换 您可以通过本节内容解决如下问题:用户在管理控制台执行弹性云服务器相关操作后出现异常,针对管理控制台提示的异常信息,应该如何处理?用户参见<弹性云服务器接 ...
- 安卓系统控制服务器,安卓系统远程控制云服务器
安卓系统远程控制云服务器 内容精选 换一换 对于密码鉴权方式创建的Windows 2012弹性云服务器,使用初始密码以MSTSC方式登录时,登录失败,系统显示"第一次登录之前,你必须更改密码 ...
- 华为鸿蒙到底是不是安卓系统套了个壳?
余承东在2月份宣布:鸿蒙将于4月份全面上线,果然没有食言 华为鸿蒙2.0来了,首批升级机型名单包括:Mate X2.Mate40以及P40系列.需要注意的是这次上线的鸿蒙OS依旧只是开发者测试版,还不 ...
- 关于安卓系统4.0/5.0/6.0获取单卡手机,双卡手机的imei1,imei2,meid(用反射来实现,史上最详细,最全面获取)--binbinyang
有的人问我要代码跟例子,上次在GITHUB上弄了一个,提供地址 给大家 https://github.com/binbinyYang/GetPhoneInfo https://github.com/b ...
- 云服务器怎么装安卓系统,云服务器怎样装安卓系统
云服务器怎样装安卓系统 内容精选 换一换 VNC方式远程登录弹性云服务器时,系统报错误码"1006",如图1所示.弹性云服务器状态异常其他用户正在登录长时间未操作弹性云服务器,系统 ...
最新文章
- 2021年春季学期-信号与系统-第二次作业参考答案-第一小题
- 苹果广告背景音乐大全【转】
- 纠正网上流传的SQL取某一时间的当月第一天和最后一天的时间写法
- vim提示-bash:vim :common not found解决方法
- 《javascript语言精髓与编程实践》--原型继承笔记
- js $.inArray
- 两个概念模型及算法之间的关系
- 默纳克系统服务器怎么查故障,默纳克系统NICE3000和NICE3000new故障历史记录查询方法...
- python 比对两个excel表数据_如何使用python比对两个excel表中的不同?
- WARNING: We noticed you're using the `useBuiltIns` option without declaring a core-js version.
- 电脑常用工具集(开发,windows,持续更新)
- 【报告分享】 知乎:2020「知+」产品手册(附下载)
- 论文编辑与投稿——论文页眉、页码编辑,以及换章时偶数页设置成空白页的操作
- 【Origin】Origin准确标注某点
- 【Python turtle 画爱心】实战学习
- 大公司还是大城市该怎么选择?
- 《Hadoop 权威指南》读书笔记之七 — chapter7
- 弘辽科技:拼多多想自立门户,正式上线多多钱包
- Ubuntu 16.04 安装思维导图freemind
- 《异地恋神器》《奇巧淫计》Python实现邮箱每天自动定时罗莉音播报天气预报
热门文章
- 2022年春招美团二面总结 凉经
- FreeRTOS+STM32L+BC20+MQTT协议传输温湿度数据,控制继电器云平台——④华为云
- MBA都包括哪些课程?有哪些MBA专业书籍值得推荐?
- hadoop学习之路(2)
- Could not acquire change log lock. Currently locked by XXX
- python显示血量条,利用Python绘制血药浓度-时间曲线——口服吸收一室模型
- iOS https 自制证书 单向 双向 验证,以及服务器(Nginx)配置
- 【汇编作业记录Proteus8+keil5 作业 2】
- itext设置字体间距_word打印技巧:几个节省纸张的打印设置方法
- 免费视频存储平台(微云、百度网盘、谷歌硬盘、酷播云)的截图对比