Ⅰ android studio 怎么做屏幕适配
不能说是Android Studio怎么做屏幕适配,而应该是Android怎么做屏幕适配
屏幕适配需要多方面来配合才能实现
1、针对手机、平板做不同的XML布局设计 ,如:layout、layout-large
2、分辨率不同的,对于图片也需要不同,让美工给你做合适的图,如:mipmap-hdpi、mipmap-xhdpi
3、对针不同设置,字体大小设计也不同,如:values-hdpi、values-hdpi
以上这几种配合使用,基本可以达到屏幕适配的目的,这个需要使用不同设置进行测试,然后根据情况进行调整
Ⅱ Android 开发中 如何做到XML多屏幕适配
Android上面解决适配不同尺寸(分辨率)和密度的问题,主要是通过以密度分类,再加上分辨率的方式来减化适配不同尺寸屏幕的工作量.
一般来讲,屏幕分辨率越高,清晰度也应该越高,也即其密度也应该越大,否则会看起来很不清楚,比如4寸的屏幕只显示100个像素,这就近距离看电影,或者看投影仪一样,非常的粗糙和不清晰.所以,Android主要是以屏幕密度来区分不同的设备:
高密度: hdpi (High dots per inch)
中等密度: mdpi (Medium dots per inch)
低密度: ldpi (Low dots per inch)
并且布局中推荐使用密度无关单位dip或dp,来作为长度或者宽度的单位.这样,从理论上来讲,开发者只需要做:
1. 为不同的密度屏幕准备图片资源
(图片是没办法的,因为图片的长度和宽度是固定的像素值,不能够随密度变化而变化,可以强行拉伸,但图片会失真.当然也有9 Patch图片可以解决随意拉伸的问题.但普通的图片的长度和宽度是固定的.
2. 用dip作为单位来指定长度或者宽度
就可以适配所有的设备,让布局在所有的屏幕上都得到比较好的显示效果.
当然,现实的生活没有这么完美,各种设备千差万别.但是总体仍可分为这三大类,为这三大类准备好图片后,其他的只要与某一类较接近,即使稍有拉伸或失真,也不太明显,是可以接受的.所以,对于一般性的应用程序,写一个布局文件在layout中,为三种密度准备图片drawable-hdpi, drawable-mdpi, drawable-ldpi,就足以应对80%的设备.
res/
drawable-hdpi/
ic_launcher.png
drawable-mdpi/
ic_launcher.png
drawable-ldpi/
ic_launcher.png
layout/
main.xml
(这里可能有点过时了,因为现在多了xdpi,而且很多设备也是xdpi的.)
但是光以密度屏幕来分类和处理还不够.随着设备的越来越多,以及屏幕尺寸越来越大,还有就是Tablet的出现,又会出现这样的问题:设备的屏幕密度虽然不高,但其分辨率很高.举个简单的例子:iPad2的分辨率是1024x768,iPhone 4 960x640,但是iPhone 4的密度是326ppi,远大于iPad2.但是,无论密度有多高它的屏幕就那么,最多能显示960x640个像素点,一个1024*768的图片在iPad上可以看到全部,而iPhone上只能看到一大半!这也是为什么用iPad来运行iPhone上的应用程序时,只是以屏幕中间的一部分来模拟显示的原因.
对Android来说也是一样的.如此一来,即使相同的dpi,假如其屏幕尺寸非常大,那么为其准备的图片将被拉伸很大或者显示不全.UI元素也会被拉伸很长.这样并不是很好的体验.对于尺寸大的屏幕应该让其显示更多的内容,而不是把一部分元素拉伸很大.所以,很多手机安卓应用如果未经专门适配,在平板上直接使用体验将会是非常差的.
为了解决这样的问题,就还必须以屏幕尺寸来区分设备
主要有四种屏幕尺寸:small, normal, large and xlarge
这主要是配合屏幕密度来一起使用,比如,适配平板的图片:
drawable-xlarge-hdpi/ic_launcher.png
这里就要提到了密度,尺寸和分辨率的对应关系了. 屏幕分辨率是随设备变化最明显的一个,上面的二种分类方法仅是对屏幕进行的大致的一个分类.虽然屏幕分辨率与密度没有直接的关系,但是所有的设备都基本上一致的:
ldpi QVGA 240*320 0.8
mdpi HVGA 320*480 1.0
hdpi WVGA 480*800 1.5
hdpi qHD 540*960 1.5
xdpi WXGA 720*1280 2
Ⅲ android 字体是怎么屏幕适配的
在android中,我们有两种情况可以设置字体大小。一种是在xml页面中,另一种是在java代码中。
<TextView
android:id="@+id/hello_word"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:text="@string/hello_world" />
其中android:textSize字段就是设置字体大小。谷歌官方推荐在设置字体大小时候,用sp为单位。
在android中系统预设了3种默认字体样式供选择,即大、中、小号字体,默认的为小号字体。
Ⅳ android屏幕适配做哪几个尺寸
android屏幕适配尺寸有全屏模式、4:9、8:12多种。
android屏幕适配尺寸有多种,具体的要结合自己的兴趣爱好和手机的自身的实际情况,具体设置标准如下:
1、不要使用绝对布局,这会限制你的手机屏幕的更换。
2、尽量使用match_parent ,从而保证屏幕的最大化利用。
3、尽量使用权重(android:layout_weight),保持手机屏幕合理布局。
4、尽量使用android的shape 自定义,形成纯色背景。
5、可以在res目录上新建layout-HxW.xml的文件夹进行在特定分辨率下适配。
拓展资料:
由于笔记本电脑采用的液晶屏的大小和分辨率是根据它的市场定位决定的,所以为了适应不同人群的消费能力和使用习惯,笔记本电脑的液晶显示器的尺寸和分辨率种类远远要比台式液晶显示器多。
Ⅳ Android的界面是如何适配多样化屏幕
在研究Android的icon设计之前,有必要先了解Android的界面是如何适配多样化屏幕的。
适配性
上一篇博文中提到,由于同一个UI元素(如100 x100像素的图片)在高精度的屏幕上要比低精度的屏幕上看起来要小,为了让这两个屏幕上的图片看起来效果差不多,可以采用以下两种方法:
程序将图片进行缩放,但是效果较差。
为这两个精度屏幕的手机各提供一个图片。
但是屏幕的参数多样化,为每一个精度的屏幕都设计一套icon,工作量大并且不能满足程序的兼容性要求,势必要对屏幕的分级,如在160dpi和180dpi的手机屏幕上采用同一套icon,当这套icon在240dpi效果满足不了设计要求,就需要另做一套稍大些的icon。
在Android 1.5以及更早的版本中,只支持3.2″ 屏幕上的HVGA (320×480)分辨率,开发人员也不需要考虑界面的适配性问题。从Android 1.6之后,平台支持多种尺寸和分辨率的设备,这也就意味着开发人员在设计时要考虑到屏幕的多样性。
为了简化设计并且兼容更多的手机屏幕,平台依照尺寸和分辨率对屏幕进行了区分:
三种尺寸:大,中,小。
三种精度:高(hdpi),中(mdpi)和低(ldpi)。
程序可以为这三种尺寸的屏幕提供默认资源,如有需要,还可以为各种精度的屏幕提供资源。在运行时,系统会根据屏幕布局加载正确尺寸或者精度的图片。
iPhone的icon设计就这么简单,iPhone的屏幕只有320×480像素,所以程序没有适配性问题。
参考文章:
《Icon Design Guidelines, Android 2.0》
《iPhone human interface guidelines》
本文由站酷网-zystoo翻译,转载请保留此信息,多谢合作。
Ⅵ Android一般开发的时候的屏幕适配是怎么做的
Android中一个layout想适配各种屏幕尺寸那么需要按以下规则去写layout:
1. 尽量使用wrap_content、match_parent、weight 来规定layout的大小。
2. 要确保布局的灵活性并适应各种尺寸的屏幕,应使用 “wrap_content” 和 “match_parent” 控制某些视图组件的宽度和高度。
3. 使用 “wrap_content”,系统就会将视图的宽度或高度设置成所需的最小尺寸以适应视图中的内容,而 “match_parent”(在低于 API 级别 8 的级别中称为“fill_parent”)则会展开组件以匹配其父视图的尺寸。
4. 如果使用 “wrap_content” 和 “match_parent” 尺寸值而不是硬编码的尺寸,视图就会相应地仅使用自身所需的空间或展开以填满可用空间。此方法可让布局正确适应各种屏幕尺寸和屏幕方向。
5. 如果某些地方必须要规定控件的大小,那么要使用dp 或者 dip单位。
6. 字段必须使用 sp单位。
7. 将不同的图片放到不同的drawable目录下,分辨率的匹配规则如下:
drawable-mdpi 320 * 480
drawable-hdpi 480*800
drawable-xhdpi 720 * 1280
drawable-xxhdpi 1080 * 1920
drawable-xxxhdpi 1080+
Ⅶ android 屏幕适配可以使用百分比吗
android适配没有百分比的参数,文字使用sp,距离使用dp,都是像素无关的单位,这是google原声的适配方式
Ⅷ 为什么说Android开发屏幕适配很难
1. 代码方式 获取屏幕的宽高 然后根据自己的设计图 给控件设置宽高
优点:能够适配不同屏幕。 ?缺点:代码较多,适合某些特殊需求。
2. 布局方式 ?比如layout-land(横屏时候走这个里面的布局) layout-port(竖屏时候走这里的布局)value-1080-width(名字好像是类似这样忘记了, 这里面可以定义一些 ?按钮的大小,这样屏幕宽度是1080时候就走这里面的参数) hdpi ?xhdpi ?xxhdpi 等放不同分辨率的图片
优点: 简单 不用修改代码 ?缺点:资源文件比较大
一般都是采用1、 2混合的方式来适配。
Ⅸ 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 屏幕适配中 dp和sp的区别
追到Android源码,发现系统内部用applyDimension()将所有单位都转换成px 再处理:
public static float applyDimension(int unit, float value, DisplayMetrics metrics)
{
switch (unit) {
case COMPLEX_UNIT_PX:
return value;
case COMPLEX_UNIT_DIP:
return value * metrics.density;
case COMPLEX_UNIT_SP:
return value * metrics.scaledDensity;
case COMPLEX_UNIT_PT:
return value * metrics.xdpi * (1.0f/72);
case COMPLEX_UNIT_IN:
return value * metrics.xdpi;
case COMPLEX_UNIT_MM:
return value * metrics.xdpi * (1.0f/25.4f);
}
return 0;
}