Android零散知识点积累

本文仅在记录android开发中遇到的零散知识点,会不断更新...

 

目录

1、隐藏系统标题栏
2、图片尺寸及屏幕密度 
3、获取顶部状态栏高度

 

1、隐藏系统标题栏

1)在资源文件styles.xml中定义样式,继承系统Holo.Light主题

1 <!-- Base application theme. -->
2 <style name="NoTitleBar" parent="android:Theme.Holo.Light.NoActionBar">
3     <!-- Customize your theme here. -->
4 </style>

在第三行可以加入自定义样式,修改系统默认样式。

 

2)AndroidManifest.xml给应用指定无标题样式

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/NoTitleBar" >
    <!-- activity 列表 -->
</application>

 

附带系统支持的主题列表(从谦虚的天下那里拿的图,参考):

2、图片尺寸及屏幕密度

2.1 屏幕密度

根据像素分辨率,在屏幕指定物理宽高范围内能显示的像素数量。
在同样的宽高区域,低密度的显示屏能显示的像素较少,而高密度的显示屏则能显示更多的像素。
屏幕密度非常重要,因为其它条件不变的情况下,一共宽高固定的UI组件(比如一个按钮)在在低密度的显示屏上显得很大, 而在高密度显示屏上看起来就很小。
为简单起见,Android把所有的屏幕分辨率也分为四种尺寸:小,普通,大,超大(分别对应:small, normal, large, and extra large).
应用程序可以为这四种尺寸分别提供不同的资源-平台将透明的对资源进行缩放以适配指定的屏幕分辨率。

2.2 不同平台尺寸

四种屏幕尺寸分类:: small, normal, large, and xlarge
四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)
需要注意的是: xhdpi是从 Android 2.2 (API Level 8)才开始增加的分类.
xlarge是从Android 2.3 (API Level 9)才开始增加的分类.
DPI是“dot per inch”的缩写,每英寸像素数。

一般情况下的普通屏幕:ldpi是120,mdpi是160,hdpi是240,xhdpi是320,对应不同的drawable图片资源文件夹。

2.3 px、dpi及屏幕密度

pixels = dips * (density / 160) 

density:屏幕密度,即上文所说120、160等。

3、获取顶部状态栏高度

public static int getStatusBarHeight(Window window) {
    Rect frame = new Rect();
    window.getDecorView().getWindowVisibleDisplayFrame(frame);
    return frame.top;
}

 

posted @ 2014-11-24 11:56  FlyFive  阅读(287)  评论(0编辑  收藏  举报