常用布局
2015-08-24 21:07
225 查看
线性布局
有一个布局方向,水平或者竖直在竖直布局下,左对齐、右对齐、水平居中生效
在水平布局下,顶部对齐、底部对齐、竖直居中生效
权重weight:按比例分配屏幕的剩余宽度或者高度(推荐在使用权重的时候使用0dp)
引用安卓系统的颜色以深灰色为例:background=”@android:color/dark_gray”
线性布局加相对布局是开发中用的最多的一种布局
相对布局
相对布局没有权重没有方向。组件默认位置都是左上角,组件之间可以重叠
可以相对于父元素上下左右对齐,相对于父元素,水平居中、竖直居中、水平竖直同时居中
可以相对于其他组件上下左右对齐
可以布局于其他组件的上方、下方、左边、右边
帧布局
可以设置上下左右对齐,水平竖直居中,设置方式与线性布局一样组件默认位置都是左上角,组件之间可以重叠
表格布局
表格布局不用定义宽高。-tablerow表示一行,该子节点的每一个子节点都表示一列
TableLayout的一级子节点默认宽都是匹配父元素
TableRow的子节点默认宽高都是包裹内容
LogCat
等级
verbose:冗余,最低等级debug:调试
info:正常等级的信息
warn:警告
error:错误
Android中的存储空间
内部存储空间
RAM内存:运行内存,相当于电脑的内存ROM内存:存储内存,相当于电脑的硬盘
文件操作:getFileDir()获取文件的路径。具体是data/data/包名/files
File file=new File(getFileDir(),”info.txt”)将会在data/data/包名/files文件夹中创建一个info.txt文件
getCacheDir()获得文件路径,具体是data/data/包名/cache
getCacheDir()和getFileDir()区别:当内存不足的时候cache文件夹中的文件会被删除。重要的信息不要保存在cache文件夹中。
外部存储空间(外部存储是可有可无的)
SD卡:相当于电脑的移动硬盘2.2之前,sd卡路径:sdcard
4.3之前:sd卡路径:mnt/sdcard
4.3开始:sd卡路径:storage/sdcard
为了兼容低版本,所以在File Explorer中都保留了低版本的快捷路径
向sdcard写文件是需要权限的,但是只会报出警告。
写的权限是:
android.permission.WRITE_EXTERNAL_STORAGE
4.0之前读取sdcard是不需要权限的.但是之后就需要权限了
android.permission.READ_EXTERNAL_STORAGE
重点内容:返回一个File对象,其路径是sd卡的真实路径。
Environment.getExternalStorageDirectory
重点内容:
//MEDIA_UNKNOW:不能识别sd卡
//MEDIA_REMOVED:没有sd卡
//MEDIA_UNMOUNTED:sd卡存在但是没有挂载
//MEDIA_CHECKING:sd卡正在准备
//MEDIA_MOUNTED:sd卡已经挂载,可用
判断sd卡是否存在:
if(Environment.getExternalStorageState.equals(Environment.MEDIA_MOUNTED))如何获取sd卡剩余容量:
所有存储设备都会被划分成若干个区块,每个区块有固定的大小,存储设备的总大小=区块大小*区块数量。
windows系统中区块的大小默认是4K.
File path=Environment.getExternalStorageDirectory(); StatFs stat=new StatFs(path.getPath()); long blockSize; //long totalBlocks; long availableBlocks; if(Build.VERSION.SDK_INT>Bulid.VERSION+CODES.JELLY_BEAN_MR2) { blockSize=stat.getBlockSizeLong(); totalBlocks=stat.getBlockCountLong(); availableBlocks=stat.getAvailableBlocksLong(); }else { blockSize=stat.getBlockSize(); totalBlocks=stat.getBlockCount(); availableBlocks=stat.getAvailableBlocks(); } TextView tv=(TextView )findViewById(R.id.tv); tv.setText(formatSize(availableBlocks*blockSize));
private String formatSize(long size) { return Formatter.formatFileSize(this,size); }
相关文章推荐
- Android Studio快捷键
- 面试题:查询重复的Email地址
- 设备文件简介
- 图的邻接链表实现(c)
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof
- 双向链表(十)
- CSS选择器
- 链接地址和存储地址
- Windows 安装bugzilla
- KMP HDOJ 4300 Clairewd's message
- Spring Boot 内嵌Tomcat的端口号的修改
- 计划doing.....
- Failed to install metadata only whitespace content allowed before start tag and not \u0
- POJ 3522 生成树(kruskal)
- web.xml配置
- NSTimer 的用法
- FORM表单新增的一些特性
- List Feature
- jQuery学习笔记--标签切换
- 魅蓝note如何进行安卓开发调试