zoukankan      html  css  js  c++  java
  • Android基础之二:资源文件

    • 应用程序资源:
      • 应用程序资源是应用开发中任何地方都可以访问的一些资源,存储在res文件夹中
      • 子文件夹:
        • drawable:分为drawable-hdpi、drawable-ldpi、drawable-mdpi、drawable-xdpi四个不同分辨率的图片资源文件夹,分别为没种分辨率设备进行适配使用
        • layout:布局资源文件夹,存储应用中所有的布局文件
        • values:存储所有常用值资源,包括strings.xml,arrays.xml,dimens.xml,style.xml,color.xml
        • menu:存储菜单资源文件
        • anim:存放视图动画资源文件
        • animator:存放属性动画资源文件
        • xml:存放xml文件资源,例如SharedPreferences.xml
    • 开发中尽量实现完全的代码与资源分离,便于维护、更新和管理,同时资源与代码分离能够实现多语言开发,只需要修改资源文件中的语言即可,程序不用发生任何改动
    • drawable资源:
      • drawable文件夹下一般都存放png图片,.9png在Android能够高清晰显示,一些动画图片如jpg也可以存放在其中,但是其在显示的时候如果不进行动态处理,那么最终只显示为静态图片
      • 帧动画xml文件也放在该文件夹下,帧动画实际上就是没过一段时间显示一张图片来实现动画效果
      • 在xml中使用drawable资源:@drawable/a,使用Android SDK自带的drawable资源:@android:drawable/a
      • 在代码中访问drawable资源:
          Drawable drawable=context.getResources().getDrawable(R.drawable.back6);
      • 代码中访问帧动画资源:
          AnimationDrawable animationDrawable= (AnimationDrawable) context.getResources().getDrawable(R.drawable.logo);
    • layout资源:
      • 存放所有布局文件资源,包括Activity布局多用文件,Fragment布局所用文件,View布局所用文件,ListView布局所用文件等所有View的可视化文件
      • 不建议使用代码动态创建layout来组合View显示,最好遵守代码与资源分开原则,便于维护与修改
      • 布局资源中使用其他资源:
        • 本地资源:@style/.. @string/.. @drawable/.. 等
        • Android SDK资源:@android:style/.. @android:string/..等
      • 一般其他资源文件中不能引用layout资源,但是layout中可以使用,例如viewStub与include标签可以实现布局文件的复用,其中layout属性指向引用布局资源
      • 代码中使用布局资源:LayoutInflater
        • 实例化LayoutInflater三种方法:
        • LayoutInflater layoutInflater=LayoutInflater.from(context);
          LayoutInflater layoutInflater= (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
          LayoutInflater layoutInflater= context.getLayoutInflater();
        • 通过LayoutInflater实例将layout文件变成view:
        • layoutInflater.inflate(R.layout.content,null,false);
    • values文件夹
      • values文件夹中存放简单的资源,如string资源文件,dimen资源文件,style资源文件,color资源文件,array资源文件等
      • 在其他资源中使用@type/..
      • 在代码中使用:
        • 获取字符串:context.getResources().getText(..);
        • 获取dimen:context.getResources().getDimension(..);
        • 获取color:context.getResources().getColor(..);
        • 获取array:context.getResources().getStringArray(..);
        • 获取Integer:context.getResources().getInteger(..);
        • 等等
      • 获取Android SDK中的values资源
        • 主要是字符串资源:context.getText(..);
    • menu文件夹
      • 用于存放菜单结构xml文件
      • Android基础之菜单中详细介绍
    • anim文件夹
      • 存放视图动画xml
      • 代码中获取anim
        • 通过AnimationUtils类来获取
        • AnimationUtils.loadAnimation(context,id);
        • 通过资源管理器getAnimation方法获取
        • getResources().getAnimation(R.anim.);
      • Android基础之动画中详细介绍
    • animator文件夹
      • 存放属性动画xml
      • 代码中使用
        • 通过AnimatorInflater类来获取
        • Animator a=AnimatorInflater.loadAnimator(MyActivity.this,R.animator.);
      • 具体使用在Android基础之动画中详细介绍
    • xml文件夹
      • 存放xml文件,其中可以是xml配置文件,SharedPreferences xml文件
      • 主要用于实现动态配置与可持续化存储
      • 与XML解析器和Dom解析器结合使用
      • 具体使用在Android基础之XML&Dom解析中介绍
    • 在布局资源中使用当前主题的资源,例如字体颜色等:
    android:textColor="?android:textColor"
    • Android 中动画分为三种
      • 视图动画:anim
      • 属性动画:animator
      • 帧动画:AnimationDrawable
    • Android颜色值
      • #RGB 三位16进制,例如#00F
      • #RRGGBB 六位16进制,例如#7700FF
      • #ARGB 四位含透明度的颜色值,例如#F00F
      • #AARRGGBB 八位含透明度的颜色值,例如#7700FF00
    • Android尺寸
      • px:屏幕像素
      • in:物理英寸
      • pt:物理点
      • mm:物理毫米
      • dp:非密度制约像素,常用于设置宽高,边距
      • sp:缩放比例无关的像素,常用于设置字体大小
  • 相关阅读:
    ios 动画与2D、3D绘图
    ios UI设计与开发 按钮、图标和图片
    算法基础
    快速排序
    ios网络开发 同步下载和异步下载
    用C#调用Execl
    SQL函数大全
    出差
    窗体间的互操作
    垂直滚动条代码
  • 原文地址:https://www.cnblogs.com/xl-xlg/p/5026686.html
Copyright © 2011-2022 走看看