导航:首页 > 操作系统 > android分辨率drawable

android分辨率drawable

发布时间:2022-08-26 23:55:51

‘壹’ 安卓app设计屏幕分辨率适配问题怎么解决

要解决这个问题,就要先知道屏幕适配的原理

不同分辨率对应的文件夹

首先我们知道android工程目录res下有四个文件夹,drawable-hdpi、drawable-mdpi、drawable-ldpi、drawable-xhdpi,主要是为了支持多分辨率的图片。如果你制作的游戏切图是480x800的切图,就应该放到drawable-hdpi目录下,如果是320x480的切图,就应该放到mdpi目录下。如果是720x1280的,通常会放到xhdpi目录下。

图片缺省时的处理方式

安卓系统在加载图片的时候有一套严格的规则,它会事先判断手机屏幕的分辨率,然后根据分辨率去加载对应文件夹里的图片。如果找不到,则会从drawable或者其他drawable-*文件夹中寻找。找到图片以后,系统会对图片尺寸与手机屏幕进行比对,尺寸一致则会正常显示,而遇到尺寸不一致的那么系统会根据一定规律对图片尺寸进行缩放,然后显示在屏幕上。此时,由于图片尺寸经过缩放,所以屏幕上的显示效果会受到影响,因此通常在游戏测试阶段,测试者应该准备好不同尺寸搭配不同分辨率的设备进行多次校验,如果是在上线前希望能进行大规模的手机游戏兼容性测试的话则可以尝试使用诸如:TestBird这样的第三方手游自动化测试平台。

不同比例的屏幕常见适配方式

通常成熟的游戏厂商针对不同比例以及不同分辨率的屏幕,会有一套自有的解决方案。而对于中小规模的开发团队或者个人开发者而言,往往没有时间专门对不同尺寸的屏幕进行适配,比如常见的安卓设备屏幕比例为16:9,而像魅族的屏幕比例则为15:9,IPad则为4:3,这样的情况下屏幕适配就变得异常麻烦。常见的图片缩放在这样的情况下会造成屏幕边缘内容的丢失,通常最好的办法是尽可能把图片缩放到最大,保留部分没有显示的黑边区域,而这样的的好处是可以不丢失任何内容,但缺点是黑边区域实际会影响到玩家的使用体验。最早在IPad尚未普及时,为了保证游戏尽可能多的兼容IPad,因此大量的采用了这样的适配方案。

另外值得一提的是,如果制作手游切图的话母版可以尽可能用720P,因为目前主流机型的屏幕分辨率是720P,720P在对图片进行缩放的过程中放大到1080P时不会感到特别模糊,缩小到480P时也不会看不清内容。这是目前很常用的一个屏幕适配解决方案,但由于15年1080p将会开始普及,所以笔者认为很快情况就会有所变化了。

‘贰’ 简述Android 中样式文件使用步骤

在Eclipse中android程序项目目录结构下的res文件夹新建drawable文件夹,并在drawable文件夹下新建各类的xml样式文件,供layout文件夹下的xml布局文件引用,以满足对程序界面的需求开发。如图1和图2是drawable下xml样式文件的样式类型。

图3、iv1到iv4
其次是信号增强即图片顺序播放的效果,在drawable下新建animation_list_sequence.xml样式文件。

<?xml version="1.0" encoding="utf-8"?><!--
根标签为animation-list;
其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画;
其中visible规定drawable的初始可见性,默认为flase;
其中variablePadding若为true则允许drawable的距离在当前选择状态下有所改变(If true, allows the drawable’s padding to change based on the current state that is selected.),默认为false;
根标签下,通过item标签对动画中的每一个图片进行声明;
android:ration 表示展示所用的该图片的时间长度,单位为毫秒;
--><animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true"
android:visible="false"
android:variablePadding="false"
>
<item android:drawable="@drawable/iv1" android:ration="200"></item>
<item android:drawable="@drawable/iv2" android:ration="200"></item>
<item android:drawable="@drawable/iv3" android:ration="200"></item>
<item android:drawable="@drawable/iv4" android:ration="200"></item></animation-list>

再者是信号增强即图片顺序播放的效果,在drawable下新建animation_list_reverse.xml样式文件。

<?xml version="1.0" encoding="utf-8"?><!--
根标签为animation-list;
其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画;
其中visible规定drawable的初始可见性,默认为flase;
其中variablePadding若为true则允许drawable的距离在当前选择状态下有所改变(If true, allows the drawable’s padding to change based on the current state that is selected.),默认为false;
根标签下,通过item标签对动画中的每一个图片进行声明;
android:ration 表示展示所用的该图片的时间长度,单位为毫秒;
--><animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true"
android:visible="false"
android:variablePadding="false"
>
<item android:drawable="@drawable/iv4" android:ration="200"></item>
<item android:drawable="@drawable/iv3" android:ration="200"></item>
<item android:drawable="@drawable/iv2" android:ration="200"></item>
<item android:drawable="@drawable/iv1" android:ration="200"></item></animation-list>

然后在layout文件夹下新建xml布局文件activity_animation_list.xml,引用上面写好的drawable文件夹下的xml样式文件。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<ImageView android:id="@+id/iv_animation_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/animation_list_sequence" />

<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="sequence"
android:text="顺序显示" />

<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="stop"
android:text="停止动画" />

<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="reverse"
android:text="倒序显示" /></LinearLayout>2122232425262728293031

然后在src包下新建Activity的java文件AnimationListActivity.java,用于演示操作。

package com.zcz.drawablexmltest;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.view.View;import android.view.Window;import android.widget.ImageView;public class AnimationListActivity extends Activity{
private ImageView mIv;
private AnimationDrawable mAd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_animation_list);
mIv = (ImageView) findViewById(R.id.iv_animation_list);
}

public void sequence(View view){
mIv.setImageResource(R.drawable.animation_list_sequence);
mAd = (AnimationDrawable) mIv.getDrawable();
mAd.start();
} public void stop(View view){
mAd = (AnimationDrawable) mIv.getDrawable();
mAd.stop();
} public void reverse(View view){
mIv.setImageResource(R.drawable.animation_list_reverse);
mAd = (AnimationDrawable) mIv.getDrawable();
mAd.start();
}
}

‘叁’ Android stdio怎么没有不同分辨率的drawable文件

有的,只是android studio已经隐藏掉了,因为android studio自动将同名的文件集合在一起,可以切换一个视图来显示,点击最上面那个Android切换成Project即可显示出来了。

‘肆’ android如何适配不同分辨率

Android应用如何适配不同分辨率的手机,主要分三块考虑:
1.界面配置,根据不同的分辨率,创建手机界面文件
例子:
在res下创建 layout-800x480,layout-480x320,并在各自不同分辨率的文件夹下创建界面文件
2.图片配置,不同的分辨率,界面的长宽比不一致,需要不同规格的图片,在drawable-hdpi,drawable-ldpi,drawable-mdpi 中放不同分辨率的图片.
注:为了减小整个应用程序安装包大小,选用最高分辨率适配,特殊界面图片特殊处理.
3.动态实现的界面,样式的设定,不同分辨率,界面的字体大小,字体等需要不同的样式,且需要动态生成的情况下,需要把不同分辨率的配置信息保存到应用中。
例子:
在RES里创建 values-480x320 values-800x400 value-1280x720,并在创建的文件夹中分别创建dimens.xml,<dimen name="Text_size">30px</dimen>,在程序中直接调R.dimen.Text_sizeint sizeOfText = (int) this.getResources().getDimension(R.dimen.Text_size);
注:实际应用发现,字体大小适配时,比如只适配了如下屏幕字体
values-480x320 values-800x480 value-1280x720当出现手机屏幕分辨率为 854x480时会自动找最大字体适配 (value-1280x720).

总结:如果字体800x480以上没有适配,手机自动按最大分辨率适配.

‘伍’ Android中如何让adt在配置不同分辨率的时候识别drawable中不同分辨率的图片

设备自动根据屏幕分辨率来选择使用的图片
你只需要将各分辨率的图片都放进去就行

‘陆’ android studio中的drawable-v24怎么创建

我们一般将APP的icon放在minmap文件夹下,其他图片资源放在drawable文件夹下。下面我们看下AndroidStudio下如何创建drawable、drawable-hdpi、drawable-mdpi、drawable-xhdpi、drawable-xxhdpi。
1、切换到Project视图下,找到对应moudle的res文件夹,右击“res”--》 “new”--》“Android resource directory”,弹出“New Resource Directory”对话框。
2、按照上图的一二三步骤,点击第三步后,会出现一下内容,选择要添加drawable的分辨率,点击“ok”按钮即可。

‘柒’ Android中dpi,drawable和VGA的区别以及联系

1.drawable-(hdpi,mdpi,ldpi)的区别:

dpi是“dot per inch”的缩写,每英寸像素数。
四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)
一般情况下的普通屏幕:ldpi是120,mdpi是160,hdpi是240,xhdpi是320。

2.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

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

hdpi里面主要放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
mdpi里面主要放中等分辨率的图片,如HVGA (320x480)
ldpi里面主要放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片

‘捌’ 悬赏100分!如何修改人人android apk上传图片分辨率及质量

楼主,用WinRAR打开人人apk文件,我已某一个apk文件为例:

会看到所有以drawable开头的目录,可能人人apk中drawable开头目录有不一样,少一个或多一个.

在这些目录下放的是应用用的图片资源,这些目录或是定义的dpi不同,或是分辨率不同,解释:

drawable--800*400---屏幕为800*400分辨率下用的图片

drawable-xhdpi---xhdpi是Android 2.2才开始加的分类,比hdpi更高精度分辨率.

drawable-hdpi----高分辨率屏幕用的图片,如WVGA (480x800),FWVGA (480x854)

drawable-ldpi ----低分辨率的图片,如QVGA (240x320)

drawable-mdpi --- 中等分辨率的图片,如HVGA (320x480)

(dpi:每英寸点数。ldpi是120,mdpi是160,hdpi是240,xhdpi的dip是320。)


系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片,找不到,就会在drawable中找:

drawable---通用的图片目录,手机分辨率很多多,这个目录下的图片可被用于所有的分辨率屏幕.

在这些目录中找到你要替换的图片,并根据它的尺寸,制作更高分辨率和质量的同名图片,拖放到响应目录,替换掉原来的图片。

注意:1.文件名必须一样.

2.不要解压apk文件来替换,直接以拖放方式替换图片

‘玖’ 如何让Android自适应不同分辨率或不同屏幕大小的layout布局

一:不同的layout
只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的 layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进 行使用。
二:hdpi、mdpi、ldpi
在之前的版本中,只有一个drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、 drawable-hdpi三个,这三个主要是为了支持多分辨率。
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。

与android分辨率drawable相关的资料

热点内容
lzma源码使用 浏览:748
ibm服务器湖南经销商云服务器 浏览:991
正规模板建站配云服务器商家 浏览:871
安卓清楚缓存命令 浏览:378
汽车压缩机电磁离合器损坏怎么修 浏览:507
怎么提取安卓软件 浏览:595
单片机和主机高速传文件 浏览:478
男生直发加密需要剃光头吗 浏览:825
qtdesignerlinux 浏览:431
命令的几要素 浏览:932
代理服务器地址怎么知道 浏览:172
汉语命令形 浏览:193
ACG官网下载的游戏怎么解压 浏览:963
stata交叉项命令 浏览:470
程序员老公烫头 浏览:692
服务器文件地址格式 浏览:131
securecrtandroid 浏览:176
短字符串压缩 浏览:863
u盘插入后显示加密格式化 浏览:944
我的世界怎么用命令方块获得超级武器 浏览:382