Android面试收集录 Android布局
2024-09-02 11:14:15
1.请说出Android中的五种布局,并介绍作用?
- FrameLayout(堆栈布局),层叠方式显示,类似于PhotoShop上的层叠图层。
- LinearLayout(线性布局),将视图以水平或者垂直方式显示。
- RelativeLayout(相对布局),通过确定两个视图的相对位置进行布局。
- TableLayout(表格布局),将视图以表格的形式排列。
- AbsoluteLayout(绝对布局),设置View的绝对坐标。
- GridLayout(网格布局),和TableLayout布局相似。
2.xmlns:android的值可以任意设置吗?
- xmlns:android是一个命名空间。
- 它的值需要以 http://schemas.android.com/apk/res开头
- android是可以替换的,需要自定义一个attrs.xml文件,然后根据配置变量,即可通过命名空间使用。
3.在RelativeLayout中有一个Button,确定相对于手机屏幕的位置坐标?
View view=findViewById(R.id.button1);
int[] locations=new int[2];
view.getLocationOnScreen(locations);
int x=locations[0];
int y=locations[1];
4.如何用Java代码设置组件的值?
- 需要一个LayoutParams对象
- 通过LayoutParams的一个addRule方法来设置属性的值
5.如何将布局存成图像?
- view.setDrawingCacheEnabled方法打开图像缓存
- view.getDrawingCache获取Bitmap对象
- Bitmap.compress保存图像
- 注意:首先需要调用measure和layout方法才能成功获取Bitmap对象。
6.设置渐变背景色的方法?
- 使用GradientDrawable
- 渐变的图像来渲染窗口背景
7.如何理解android:layout_weight属性?
- 用于设置组件的重要程度
- 重要程度越高,值越低
8.对于android:layout_gravity怎么理解的呢?
- android:layout_gravity属性指定了当前View在父View中的位置
- android:layout_gravity属性在水平线性布局中时,值为center不起作用
9.如何重用布局文件?
- 采用include标签
- <include android:id="@+id/layout1" layout="layout/mylayout">
10.顶层布局使用FrameLayout好不好?
- 这是多余的,系统会自动生成一个FrameLayout标签
- 可以用<merge>代替,merge不会生成任何节点
11.如何查看apk文件中的布局文件源代码呢?
- 反编译工具
- 使用AXMLPrinter2工具对XML文件反编译
最新文章
- .htaccess基本语法和应用 (2012-11-09 16:13:47)转载▼
- JS闭包导致循环给按钮添加事件时总是执行最后一个
- 《Windows核心编程》学习笔记(9)– 在win7或者vista系统下提升一个进程的运行权限
- TI BLE CC2541的I2C主模式
- js判断是不是chrome浏览器
- 在JavaScript中实现yield,实用简洁实现方式。
- 超大型 LED 显示屏
- 关闭C#主窗体弹出是否关闭对话框
- Cocos2d-x内存管理解说在ios开发中
- 快速部署PostgreSQL
- Windows环境下多线程编程原理与应用读书笔记(8)————信号量及其应用
- [JavaScript] Cookie,localStorage,sessionStorage概述
- Redis 搭建文档,备份及认证
- Windows10右键添加";在此处打开命令窗口";
- Nginx日志格式log_format详解
- Unity调用Windows弹框、提示框(确认与否,中文)
- 腾讯云服务器 离线安装最新稳定版MariaDB 10.2.6
- titlesplit源码
- python帮助信息查看以及笔记
- Oracle EBS AR 删除应收发票
热门文章
- Linux,MD5
- uLua学习之HelloWorld(一)
- due to a StackOverflowError. Possible root causes include a too low。。
- django orm 多对多自定义第三张表
- 《深入理解Java 7核心技术与最佳实践》读书笔记(2) Java语言动态性引言
- python-rrdtool
- Python基础学习之序列(1)
- AttributeError: module &#39;requests&#39; has no attribute &#39;get&#39; 遇到了这个错误,是因为我把python关键字做了包名。。。
- 【CCPC-Wannafly Winter Camp Day3 (Div1) F】小清新数论(莫比乌斯反演+杜教筛)
- 曲率(Curvature)