首页 > 其他分享 >Android设置窗口的背景图

Android设置窗口的背景图

时间:2023-06-22 19:33:12浏览次数:52  
标签:hdpi 窗口 mdpi VGA ldpi Android 背景图 drawable 480

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、这时候的布局文件如下:

<?xml version="1.0" encoding="UTF-8"?>   
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
    android:orientation="vertical"    
    android:layout_width="fill_parent"    
    android:layout_height="fill_parent"    
    android:background="@drawable/bg1">     
    <TextView    
        android:layout_width="fill_parent"    
        android:layout_height="wrap_content"    
        android:text="Hello Android"/>    
</LinearLayout>

参考资料:

Android2.1中的 drawable(hdpi,ldpi,mdpi) 的区别

Android开发中的drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的区别以及联系
http://disanji.net/2011/04/25/android-development-drawable-hdpimdpildpi-wvgahvgaqvga-diff-connection/

标签:hdpi,窗口,mdpi,VGA,ldpi,Android,背景图,drawable,480
From: https://blog.51cto.com/u_15588078/6535334

相关文章

  • Android 使用 TableLayout 布局拉伸宽度
    布局文件<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"android:layout_width="fill_parent" android:lay......
  • Android的进程,线程模型
    Android包括一个应用程序框架、几个应用程序库和一个基于Dalvik虚拟机的运行时,所有这些都运行在Linux内核之上。通过利用Linux内核的优势,Android得到了大量操作系统服务,包括进程和内存管理、网络堆栈、驱动程序、硬件抽象层、安全性等相关的服务。 有关Java虚拟机跟进程,线......
  • Android入门--写一个最简单的计算器
    这里将写的计算器是借用了下面写的计算器,并把其中需要注意的地方一一补充罗列:http://www.iteye.com/topic/141029需要演示的结果:之前假设已经配置好Android开发环境,如果没有,请参看下面2篇文章:Win7配置Android开发环境ubuntu10.10下安装android2.2开发环境 第一步,新......
  • ubuntu10.10 下安装android 2.2开发环境
    一、安装Java6安装jre/jdksudoapt-getinstallsun-java6-binsun-java6-jresun-java6-jdk使用这个命令安装后,默认是安装在/usr/lib/jvm/ 目录下,以我为例,我这里是/usr/lib/jvm/java-6-sun-1.6.0.24目录,/usr/lib/jvm/下还有一个快捷方式java-6-sun有时候会安装多个jdk,......
  • Kotlin入门|Android Kotlin 初学者学习网站+最新学习资源
    Kotlin是一门可以运行在Java虚拟机、Android和浏览器上的静态语言,它与Java100%兼容。如果你对Java非常熟悉,一般上手Kotlin也会比较容易。在我从事Android开发的多年来,也积累了很多专业的学习网站和宝贵的学习资源,现无偿分享给大家,不求面面俱到,只希能给各位Android开发者和带来......
  • Android 组件化开发的新浪潮,成为了最受欢迎的框架, 有一种架构叫组件化,你还不会?
    有一种架构叫组件化,你还不会?组件化作为客户端项目架构侧一个非常重要的方案,近年来业界也在不断的探索以及各大厂都在不断的实践。每个大厂内部的各个Android开发团队也在尝试和实践不同的组件化方案,并且在组件化通信框架上也有很多高质量的产出。阿里面试最近听一位坚守在阿里的同......
  • Android内存优化分析总结,这一篇就够了
    一、内存优化概念1.1为什么要做内存优化?内存优化一直是一个很重要但却缺乏关注的点,内存作为程序运行最重要的资源之一,需要运行过程中做到合理的资源分配与回收,不合理的内存占用轻则使得用户应用程序运行卡顿、ANR、黑屏,重则导致用户应用程序发生OOM(outofmemory)崩溃。在你认真跟......
  • 最新《Android Framework开发文档》(经典Binder、Handler、AMS等面试题加解析)
    Android架构从从顶层到底层分别为应用程序层、应用程序框架层、运行层(系统Native库和Android运行时环境)和Linux内核层四部分。Framework即应用框架层,是Android架构的关键组成部分,为应用提供各种api和组件来支持开发。如今行业趋于饱和,开发技术越来越卷,Framework也已逐渐成为高薪......
  • 那些年Android UI开发中所遇到的各种坑
    1.软键盘隐藏问题问题描述:Activity按下返回调用finish()方法后,界面已经销毁,但是软键盘依然还留在屏幕上,这让当前正在显示的Activity没有输入框的完全没法看,非常严重的视觉影响。尝试方案:寻找各种方法去隐藏软键盘,网上各种找。思路是在活动退出时,会调用onDestroy()方法。销毁界面,在......
  • Android系统服务 AMS 启动流程
    背景当SystemServer启动的时候,从Zygote进程fork()出SystemServer进程,经过初始化后,会通过反射调用SystemServer.java的mian()方法,其中会启动一系列系统服务。AMS就是其中的一个。一、缘起SystemServer进程SystemServer的main():/***Themainentrypointfromzygote......