一:不同的layout
Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢?
其实很简单,只需要在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)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
三者的解析度不一样,就像你把电脑的分辨率调低,图片会变大一样,反之分辨率高,图片缩小。
横屏竖屏自动切换:
方法一: 可以在res目录下建立layout-port-800x600和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,这样在手机屏幕方向变化的时候系统会自动调用相应的布局文件,避免一种布局文件无法满足两种屏幕显示的问题。
方法二:在AndroidManifest.xml文件配置activity属性:android:configChanges="keyboardHidden|orientation"
重写Activity的 onConfigurationChanged方法:
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
setContentView(R.layout.main_land);//横屏
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
setContentView(R.layout.main);//竖屏
}
}
转自:
http://greenboy1.iteye.com/blog/1033828
分享到:
相关推荐
### Android自适应屏幕大小与Layout布局详解 #### 一、不同屏幕尺寸的适应性设计 在Android应用开发中,为了确保应用能够在各种不同尺寸的屏幕上正常显示,开发者需要考虑多种屏幕分辨率的情况。例如,常见的屏幕...
ANDROID自适应屏幕大小和LAYOUT布局横屏竖屏
Android 自适应屏幕大小和 Layout 布局(横屏竖屏) Android 手机屏幕大小各不相同,例如 480x320、640x360、800x480 等。为了让 App 自动适应不同的屏幕大小,可以在 res 目录下创建不同的 layout 文件夹,例如 ...
Android自适应屏幕布局是指在Android系统中实现屏幕自适应的布局方式,通过使用不同的布局文件和样式可以使屏幕布局适应不同的屏幕尺寸和方向。下面是关于Android自适应屏幕布局的详细知识点: 一、布局文件 在...
3. 利用相对布局和约束布局,使元素位置自适应屏幕尺寸。 4. 创建不同尺寸的布局文件夹,针对不同屏幕尺寸提供特定布局。 5. 考虑屏幕宽高比和分辨率,确保内容在不同设备上呈现正确。 遵循以上原则,开发者可以...
本文就介绍了4中Android屏幕自适应解决方案。 一、细说layout_weight 目前最为推荐的Android多屏幕自适应解决方案。 该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中。其值越小,则对应的...
一:不同的layoutAndroid手机屏幕大小不一,有480x320,640x360,800x480.怎样才能让App自动适应不同的屏幕呢?其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout...
1. **使用资源维度文件夹**:Android支持在不同的资源目录下放置特定尺寸和密度的图片、布局等资源,例如`res/layout-sw600dp`用于7英寸平板,`res/drawable-hdpi`用于高密度屏幕。通过这种方式,系统会自动选择最...
`dip`或`dp`是用来表示与屏幕密度无关的像素值,通常用于定义布局和控件的大小;`sp`主要用于设置文本大小,它可以自动调整字体大小以适应不同的屏幕密度。 - **提示**:从Android 1.6版本开始,可以通过在`...
使用FlexboxLayout或GridLayout等可以动态调整布局的库,让界面元素能够根据屏幕大小自动调整布局和大小。 9. **sw600dp, sw720dp断点**: 定义特定屏幕宽度的资源文件夹,如`res/layout-sw600dp`,用于平板或...
在安卓应用开发中,自适应屏幕方向和大小是至关重要的,因为不同的设备有着各种各样的屏幕尺寸和方向,包括手机、平板以及横屏、竖屏的切换。本项目旨在分享在进行安卓APP开发时,如何有效地实现界面的自适应,确保...
通过定义约束,控件的位置和大小会根据其他控件和屏幕边界自动调整。 七、使用AutoFitTextView 对于需要自适应字体大小的场景,可以使用AutoFitTextView。这个自定义视图能根据文本内容和可用空间自动调整字体大小...
4. **响应式布局**:使用GridLayout、FlexboxLayout或者AndroidX的Jetpack Compose库,可以创建更灵活、自适应的布局,自动调整界面元素的位置和大小。 5. **百分比布局**:Android Support Library中的...
Android系统会根据设备的屏幕属性自动选择合适的资源文件夹,如`res/layout`(布局)和`res/drawable`(图片资源)。为了支持不同尺寸和密度的屏幕,开发者应创建多个这样的文件夹,并在其中放置相应的资源文件。 ...
综上所述,实现Android屏幕自适应需要综合运用各种布局、尺寸单位、资源文件和组件。通过合理的设计和编程,可以确保应用在不同设备上都有优秀的显示效果。压缩包中的Opx文件可能包含了实现这一功能的代码示例,通过...
在Android应用开发中,自适应屏幕方向和大小是至关重要的,因为Android设备有着广泛的屏幕尺寸和分辨率。这个压缩包文件“Android项目关于自适应屏幕方向和大小的一些经验”可能包含了如何处理这一问题的实践经验和...
在Android开发中,屏幕自适应是一项至关重要的技术,它确保应用程序在不同尺寸和分辨率的设备上都能呈现良好的用户体验。本文将深入探讨Android屏幕自适应的原理、方法和案例,帮助开发者掌握这一关键技能。 首先,...
在安卓应用开发中,自适应屏幕方向和大小是至关重要的,因为不同的设备有着各种各样的屏幕尺寸和纵横比。这份资料“关于自适应屏幕方向和大小的一些经验.zip”包含了两个文件,一个名为“关于自适应屏幕方向和大小的...
3. **使用比例适配**:利用`android:weightSum`和`android:layout_weight`属性,可以创建按比例分配大小的布局元素,适应不同屏幕宽度。 4. **使用可伸缩的布局组件**:如`LinearLayout`, `RelativeLayout`, `...