在Android中设置窗口背景图

移动开发 Android
本文简单的介绍了Android窗口管理之设置背景图,从考虑它的像素和分辨率,然后,自己搭建一个合理的,大方的背景图。

Android窗口管理

在整个控件树的最顶端,是一个逻辑的树顶,ViewParent,在源码中的实现是ViewRoot(ViewRoot extends Handler implements ViewParent)。它是整个控件树和WindowManager之间的事件信息的翻译者。WindowManager是Android中一个重要的服务。它将用户的操作,翻译成为指令,发送给呈现在界面上的各个Window。Activity会将顶级的控件注册到WindowManager中,当用户真是触碰屏幕或键盘的时候,WindowManager就会通知到,而当控件有一些请求产生,也会经由ViewParent送回到WindowManager中。

drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:

Android2.1(含)以后的版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个目录,这三个目录主要是为了支持多分辨率。

dpi是“dot per inch”的缩写,每英寸像素数。

四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)

一般情况下的普通屏幕:ldpi是120,mdpi是160,hdpi是240,xhdpi是320。 
 

WVGA,HVGA,QVGA的区别 

VGA是”Video Graphics Array”,显示标准为 640*480。

WVGA(Wide VGA)分辨率为 480*800

HVGA(Half VGA)即VGA的一半分辨率为 320*480

QVGA(Quarter VGA)即VGA非四分之一分辨率为240*320

drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的联系 

hdpi里面主要放高分辨率的图片,如WVGA (480×800),FWVGA (480×854)           长宽比  5:3

mdpi里面主要放中等分辨率的图片,如HVGA (320×480)                                       长宽比  3:2

ldpi里面主要放低分辨率的图片,如QVGA (240×320)                                            长宽比  4:3

系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。

在开发程序时为了兼容不同平台不同屏幕,我们可以上面制定长宽比裁剪图片,并确保有足够分辨率,并把它放入对应目录即可。

比如我们希望设置我们应用窗口的背景,则可以简单的用上面提到的规范裁剪对应的图片,然后做下面步骤即可:

1、将背景图片COPY到对应的drawable文件夹中,假设这里用的是bg1.png

2、修改main.xml,添加 android:background="@drawable/bg1" 即可:

3、这时候的布局文件如下:

  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   
  3.     android:orientation="vertical"   
  4.     android:layout_width="fill_parent"   
  5.     android:layout_height="fill_parent"   
  6.     android:background="@drawable/bg1">   
  7.     <TextView   
  8.         android:layout_width="fill_parent"   
  9.         android:layout_height="wrap_content"   
  10.         android:text="Hello Android"/>   
  11. </LinearLayout> 

【编辑推荐】

Android之Gridview图片列表

Android 2.2系统的十个实用小技巧

Android用户界面设计之创建列表视图程序

谷歌Android UI设计技巧:该做的和不该做的

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-09-07 16:24:10

Qt Widget

2011-06-20 17:17:11

Qt Widget QWidget

2011-08-18 17:24:34

iPhone开发UINavigatio

2010-08-18 13:27:15

CSS兼容IE6

2023-06-30 13:27:54

CSS径向渐变

2013-01-07 13:15:39

Android开发窗口背景视图

2023-02-21 08:40:55

2019-03-14 08:47:49

Visual Stud数据开发

2023-03-31 14:51:46

CSS图案背景开发

2010-09-09 14:38:05

CSS背景图片

2010-08-26 10:26:44

CSS

2020-06-30 20:55:17

PygalPython编程语言

2011-09-01 15:16:00

Ubuntu

2011-10-17 12:30:53

Ubuntu 11.1LightDM

2020-04-08 09:06:34

Android 协程开发

2011-09-13 17:23:26

2009-03-19 08:54:15

Windows 7定制登陆界面

2010-10-13 08:57:06

Visual Stud

2010-04-27 11:35:05

Oracle Java

2015-08-20 09:41:09

Windows 10桌面背景
点赞
收藏

51CTO技术栈公众号