Android面试收集录 Android布局
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文件反编译
Android面试收集录 Android布局的更多相关文章
- Android面试收集录 Android入门
1.Android的特点有哪些? 编程语言是Java或Kotlin,Android中的Java字节码是允许在Dalvik虚拟机上的 支持4大组件 Android内置了WebKit核心的浏览器,支持H5 ...
- Android面试收集录 Android系统的资源+其他
1.Android应用程序的资源是如何存储的,如何使用? res文件夹或者assets文件夹 res目录中的资源在R类中生成一个int变量,然后再布局文件中可以直接使用,在代码中,要getResour ...
- Android面试收集录 Android组件
1.请说出Android SDK支持哪些方式显示富文本信息? 使用TextView组件可以显示富文本信息,如果要实现图文混排,需实现ImageGetter接口 使用WebView组件显示HTML页面 ...
- Android面试收集录11 Window+Activity+DecorView+ViewRoot之间的关系
一.职能简介 Activity Activity并不负责视图控制,它只是控制生命周期和处理事件.真正控制视图的是Window.一个Activity包含了一个Window,Window才是真正代表一个窗 ...
- Android面试收集录4 Fragment详解
1.什么是Fragment? 你可以简单的理解为,Fragment是显示在Activity中的Activity. 它可以显示在Activity中,然后它也可以显示出一些内容. 因为它拥有自己的生命周期 ...
- Android面试收集录16 Android动画总结
一.Android 动画分类 总的来说,Android动画可以分为两类,最初的传统动画和Android3.0 之后出现的属性动画: 传统动画又包括 帧动画(Frame Animation)和补间动画( ...
- Android面试收集录14 Android进程间通信方式
一.使用 Intent Activity,Service,Receiver 都支持在 Intent 中传递 Bundle 数据,而 Bundle 实现了 Parcelable 接口,可以在不同的进程间 ...
- Android面试收集录10 LruCache原理解析
一.Android中的缓存策略 一般来说,缓存策略主要包含缓存的添加.获取和删除这三类操作.如何添加和获取缓存这个比较好理解,那么为什么还要删除缓存呢?这是因为不管是内存缓存还是硬盘缓存,它们的缓存大 ...
- Android面试收集录9 IntentService详解
一. 定义 IntentService是Android里面的一个封装类,继承自四大组件之一的Service. 二.作用 处理异步请求,实现多线程 三. 工作流程 注意:若启动IntentService ...
随机推荐
- ubuntu linux安装octave
sudo apt-add-repository ppa:octave/stable sudo apt-get update sudo apt-get install octave 安装完成后,在终端中 ...
- vuejs使用组件的细节点
is属性 <div id='root'> <table> <tbody> <row></row> <row></row&g ...
- 20145238-荆玉茗 《Java程序设计》第四次实验报告
20145238<Java程序设计>第四次实验报告 实验四 Android环境搭建 实验内容 1.搭建Android环境 2.运行Android 3.修改代码,能输出学号 实验步骤 搭建A ...
- ssd论文解读
https://www.sohu.com/a/168738025_717210 https://www.cnblogs.com/lillylin/p/6207292.html https://blog ...
- this指针和类的继承
神秘的家伙 在对象的世界里,有一个特殊的指针,它叫做this.我们从来没有见过他,但是他却从来都存在.我们通过一个典型的例子来认识它: class Human { char fishc; Human( ...
- N76E003---输入捕获
输入捕获 根据芯片手册,定时器2可以作为输入捕获使用,设置非常简单,官方也提供了宏给我们使用 void Time2_cap_init(void) { /******* 输入捕获CF设置 ******* ...
- AI-Info-Micron-Insight:5G、人工智能和即将到来的移动革命
ylbtech-AI-Info-Micron-Insight:5G.人工智能和即将到来的移动革命 1.返回顶部 1. 5G.人工智能和即将到来的移动革命 人们都说自己的手机“智能”,但究竟有多智能?凡 ...
- path、classpath理解
path.classpath最常见的场景:环境变量配置 path环境变量:设置path的作用是让操作系统可以找到JDK命令(指定了JDK命令搜索路径):path环境变量原来Windows里面就有,只需 ...
- C#流程控制语句
C#流程控制语句 一.选择语句 当程序中需要进行两个或两个以上的选择时,可以根据条件的判断来选择将要执行的一组语句. ?if语句 ?switch语句 二.循环语句 循环语句是对一个程序模块进行的重复操 ...
- base_lr, blobs_lr
caffe里面,原来以为是不可以随便调整学习率的,现在看来是可以的.base_lr是适用于所有层的学习率,而针对单个层,可以通过增加两个blobs_lr,用来调整该层的学习率,为什么是两个呢,因为一个 ...