Android 面试题总结之Android 基础(六)

本文总结了Android面试中关于布局的经典问题,包括常用的布局类型、UI优化措施、LinearLayout的权重算法、布局适配策略以及Drawable的使用。还探讨了Padding与Margin的区别、如何使用权重分配控件宽度、布局优化方法,如减少嵌套层级、避免过度绘制等。同时提到了View的相关知识,如View的绘制流程和刷新机制,以及RelativeLayout与LinearLayout的性能比较。
摘要由CSDN通过智能技术生成

Android 面试题总结之Android 基础(六)

在上一章节Android 面试题总结之Android 基础ListView(五) 主要是ListView的优化,原理以及一些基本问题。

在阅读过程中有任何问题,请及时联系。如需转载请注明 fuchenxuan de Blog
本章系《Android 之美 从0到1 – 高手之路》Android基础将会总结了Android 布局常见面试问题。其实对于基础方面Android 开发来说,经常面试无非就是UI,网络,数据库,这三大方面,本章节总结了笔记经典的问题,希望对广大Android 开发者,有所帮助。

布局面试问题

  1. Android 中常用的布局都有哪些?
    • FrameLayout
    • RelativeLayout
    • LinearLayout
    • AbsoluteLayout
    • TableLayout
    • GrideLayout(Android 4.0 推出)
  2. 谈谈 UI 中, Padding 和 Margin 有什么区别?

    android:paddingandroid:layout_margin 的区别,其实概念很简单,padding 是站在父 view 的角度描述问 题,它规定它里面的内容必须与这个父 view 边界的距离。margin 则是站在自己的角度描述问题,规定自己和其他(上下左右)的 view 之间的距离,如果同一级只有一个 view,那么它的效果基本上就和 padding 一样了。

  3. 使用权重如何让一个控件的宽度为父控件的 1/3?
    可以在水平方向的 LinearLayout 中设置 weightSum 为 3,然后让其子控件的 weight 为 1,那么该子控件就是 父控件的 1/3。
  4. Android 中布局的优化措施都有哪些?
    这个问题也属于Android 性能优化的一部分。
    1、尽可能减少布局的嵌套层级
    可以使用 sdk 提供的 hierarchyviewer 工具分析视图树,帮助我们发现没有用到的布局。
    2、不用设置不必要的背景,避免过度绘制 比如父控件设置了背景色,子控件完全将父控件给覆盖的情况下,那么父控件就没有必要设置背景。
    3、使用<include>标签复用相同的布局代码
    4、使用<merge>标签减少视图层次结构
    该标签主要有两种用法:
    1) 因为所有的 Activity 视图的根节点都是 FrameLayout,因此如果我们的自定义的布局也是 FragmenLayout 的时候那么可以使用 merge 替换。
    2) 当应用 Include 或者 ViewStub 标签从外部导入 xml 结构时,可以将被导入的 xml 用 merge 作为根节 点表示,这样当被嵌入父级结构中后可以很好的将它所包含的子集融合到父级结构中,而不会出现冗余的节点。
    <merge>只能作为 xml 布局的根元素。
    5、通过<ViewStub>实现 View 的延迟加载
  5. android:layout_gravity 和 android:gravity 的区别?
    第一个是让该布局在其父控件中的布局方式,第二个是该布局布置其字对象的布局方式。

  6. 关于LinearLayout 的权重算法?

        <LinearLayout
        android:layout_width="210dp"
        android:layout_height="wrap_content"
        
  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值