Android项目app-src-main-res目录的结构及解析

Android项目app->src->main->res目录的结构

drawable和mipmap-?dpi(l,m,h,xh,xxh,xxxh)

drawable(可画的)和mipmap-?dpi都是可绘制的资源,定义了Android应用中需要的“不同分辨率”下的资源文件,在市场上销售的Android手机在分辨率上可谓是千差万别,从640×480到1280×960等等,差异非常大。

如果我们在1280×960的高分辨率下使用了640×480的低分辨率的资源就会看起来非常的丑陋,效果非常差。所以在不同的分辨率下,Android系统会根据分辨率选择响应的资源文件。

接来下说一下常见的(l,m,h,xh,xxh,xxxh)这六个种类的资源,ldpi(low),mdpi (medium),hdpi(high)xhdpi(extra high)。通常根据这六中不同的类型来区分资源文件。

l,m,h,xh,xxh,xxxh都是有相应的分辨率区间的,只有落在这个区间里面,才会调用相应类型的资源文件。

名称像素密度范围图片大小
mdpi120dp~160dp48*48px
xdpi160dp~240dp72*72px
xhdpi240dp~320dp96*96px
xxhdpi320dp~480dp144*144px
xxxhdpi460dp~640dp192*192px

更多的信息可看:
Android-屏幕适配全攻略(一)

Android常见度量单位

我们通常将app需要的icon放在mipmap目录下,将其他图片资源放在drawable目录下

ps:
现在我们在AndroidStudio里创建项目时,通常只会帮我们创建一个drawable文件夹,那我们如果想将不同分辨率的图片像放进不同类别的mipmap一样放进不同类别的drawable的话。
这时候可以自己创建不同的drawable文件:
解决android studio drawable新建项目时只有一个drawable目录的问题

values

Android应用界面上需要显示各类文本标签文字信息(strings,styles,colors)

strings是标签信息,styles、colors主要是一些外观、颜色上的信息。

String文件的例子:

<resources>
    <string name="app_name">AppName</string>
    <string name="title_activity_login">Sign in</string>
</resources>

styles文件的例子:

<resources>
	<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        
        <!--标题栏的颜色-->
        <item name="colorPrimary">@color/black</item>
        
        <!--状态栏的颜色-->
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        
        <!--默认的光标、选中的RadioButton颜色-->
        <item name="colorAccent">@color/colorAccent</item>
        
        <!-- 避免控件会顶到状态栏上 -->
        <item name="android:fitsSystemWindows">true</item>
        
        <!--字体设置为sans-->
        <item name="android:typeface">sans</item>
    </style>
</resources>

Style文件的学习:
Android的Style的使用
Android的Style和Theme

colors文件的例子:

<resources>
	<color name="white">#FFFFFF</color><!--白色 -->

    <color name="ivory">#FFFFF0</color><!--象牙色 -->

    <color name="lightyellow">#FFFFE0</color><!--亮黄色 -->

    <color name="yellow">#FFFF00</color><!--黄色 -->

    <color name="snow">#FFFAFA</color><!--雪白色 -->
</resources>

layout

Android下定义的界面布局文件。

在Android的系统里,我们在开发Android应用的过程中,我们要实现一个界面元素的时候,比如说按钮、滚动条、输入框等这些元素是放在具体的xml的界面布局文件里面的。

我们界面元素的属性和相互关系也是放在xml文件里的。界面元素的属性如宽度(width)、高度(height)、id等,相互关系如RelativeLayout(相对布局)里的两个控件之间的位置关系,控件与父布局之间的位置关系等等

Menu

存放系统菜单项和上下文菜单项

Menu学习:
Android Menu用法全面讲解
Android中Menu的基本用法

菜单(menu)文件:
用来定义菜单项,里面的属性主要有icon、showAsAction、title等。下面给与一个简单的menu文件的例子。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item android:id="@+id/action_scan"
        android:title="扫一扫"
        android:orderInCategory="100"
        android:icon="@mipmap/ic_launcher"
        app:showAsAction="never"/>
    <item android:id="@+id/action_creat_team"
        android:title="创建小组"
        android:orderInCategory="100"
        android:icon="@mipmap/ic_launcher"
        app:showAsAction="never"/>
    <item android:id="@+id/action_apply_history"
        android:title="申请历史"
        android:orderInCategory="100"
        android:icon="@mipmap/ic_launcher"
        app:showAsAction="never"/>
</menu>
  • title是菜单项的文字

  • icon是菜单显示的图标

  • showAsAction 该菜单项是否显示
    主要有三个值:always、ifRoom、never。always是“总是显示”,ifRoom是“如果有空间则显示,如果没有就隐藏”,never是“总是隐藏”

  • orderInCategory是菜单项的优先级
    每个item的优先级,值越大优先级越低,actionbar地方不够就会放到overflow中

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值