Android基础 ---- 零散知识点

一、样式和主题

  • 样式:
    • 定义样式的作用是什么?
      当我们的多个控件有多个相同的属性时,为了提高编写代码的效率,我们可以将这些相同的属性抽取到样式中,然后在控件中直接声明样式即可
    • 定义样式的意义是什么?
      方便开发人员开发,提高开发效率
    • 样式如何定义、如何使用 ?
      • 样式的定义:
        • 进入values/style.xml中
          在这里插入图片描述
        • 在style.xml中去创建一个<style>节点
          在这里插入图片描述
          • 其中name为自定义样式的名字,我们在控件上需要通过这个属性去访问自定义的样式
          • 其中每个<item>中,name为控件的属性名,<item>与<item>之间为该属性名对应的值
      • 样式的使用 :
        在这里插入图片描述
    • 样式使用的范围是什么?
      样式一般使用在控件上,作用范围比较窄
  • 主题
    • 定义主题的作用是什么?
      当我们开发的APP不想使用Android自带的主题样式时,就可以自己定义主题
    • 主题如何定义、如何使用?
      • 主题的定义:
        • 进入values/style.xml中
          在这里插入图片描述
        • 在style.xml中去创建一个<style>节点在这里插入图片描述
          • 其中name为自定义主题的名字,我们在activity和application节点上是通过name去访问的
          • 其中每个<item>中,name为不同部位的属性名,<item>与<item>之间为该属性名对应的值
          • 每个部位的属性名如图:
            在这里插入图片描述
    • 主题使用的范围是什么?
      主题一般使用在activity、application节点上,作用范围比较宽


二、国际化(i18n)

  • 国际化是什么?
    国际化是指在不同的语言环境下,app中的语言随着语言环境的改变而改变
  • 如何实现国际化?
    • 在res下创建不同的values文件夹,其命名的格式为:values-国家名缩写
      在这里插入图片描述
    • 将values/strings.xml文件中的字符串用不同的语言进行翻译


三、上下文对象

  • 获取上下文对象的两种方式
    • this
    • getApplicationContext()
  • this与getApplicationContext()获取上下文对象的区别:
    • this
      • 最终继承于Context,它是Context的子类。
      • 它获取的是Activity级别的对象
    • getApplicationContext()
      • 用于获取一个Context对象,它是Context本类。
      • 它获取的是应用程序级别的对象
  • 问题为什么在构造对话框的时候,使用getApplicationContext()会报错“java.lang.IllegalStateException”,而使用this就不报错呢?
    • 我们使用getApplicationContext()去获取的上下文对象是一个应用级别的上下文对象,这个应用中包含了很多的Activity。因此在使用这个方法去创建一个对话框时,会导致dvm不知道应该将对话框挂载到哪个Activity上。
    • 使用this获取的上下文对象是一个Activity级别的上下文对象,很直接、了当的告诉了dvm,对话框应该挂到哪个Activity上,因此不会报错。
  • 什么时候使用this,什么时候使用getApplicationContext()?
    目前为止只有在对话框中必须使用this,其他地方两种方式都可以使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值