想要Android应用适应不同尺寸的屏幕,思路如下:
一:不同的layout
Android手机屏幕大小不一,有480x320, 640x360, 800x480,让app适应不同屏幕,需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入Rjava里,而系统会根据屏幕的大小自己选择合适的layout进行使用。
二:hdpi、mdpi、ldpi
在之前的版本中,只有一个drawable,而21版本中有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)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的。
更正:应该是对应不同density 的
在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本。
屏幕方向:
横屏竖屏自动切换:
可以在res目录下建立layout-port-800x600和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,这样在手机屏幕方向变化的时候系统会自动调用相应的布局文件,避免一种布局文件无法满足两种屏幕显示的问题。
不同分辨率横屏竖屏自动切换:
以800x600为例 :
可以在res目录下建立layout-port-800x600和layout-land-800x600两个目录
不切换:
以下步骤是网上流传的,不过我自己之前是通过图形化界面实现这个配置,算是殊途同归,有空我会把贴上来。
还要说明一点:每个activity都有这个属性screenOrientation,每个activity都需要设置,可以设置为竖屏(portrait),也可以设置为无重力感应(nosensor)。
要让程序界面保持一个方向,不随手机方向转动而变化的处理办法:
在AndroidManifestxml里面配置一下就可以了。加入这一行android:screenOrientation="landscape"。
例如(landscape是横向,portrait是纵向):
Java代码:
<xml version="10" encoding="utf-8">
<manifest xmlns:android="http://schemasandroidcom/apk/res/android"
package="comraylinkit"
android:versionCode="1"
android:versionName="10">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="Main"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="androidintentactionMAIN" />
<category android:name="androidintentcategoryLAUNCHER" />
</intent-filter>
</activity>
<activity android:name="GamePlay"
android:screenOrientation="portrait"></activity>
<activity android:name="OptionView"
android:screenOrientation="portrait"></activity>
</application>
<uses-sdk android:minSdkVersion="3" />
</manifest>
另外,android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!
有的程序适合从竖屏切换到横屏,或者反过来,这个时候怎么办呢?可以在配置Activity的地方进行如下的配置android:screenOrientation="portrait"。这样就可以保证是竖屏总是竖屏了,或者landscape横向。
而有的程序是适合横竖屏切换的。如何处理呢?首先要在配置Activity的时候进行如下的配置:android:configChanges="keyboardHidden|orientation",另外需要重写Activity的 onConfigurationChanged方法。实现方式如下,不需要做太多的内容:
@Override
public void onConfigurationChanged(Configuration newConfig) {
superonConfigurationChanged(newConfig);
if (thisgetResources()getConfiguration()orientation == ConfigurationORIENTATION_LANDSCAPE) {
// land do nothing is ok
} else if (thisgetResources()getConfiguration()orientation == ConfigurationORIENTATION_PORTRAIT) {
// port do nothing is ok
}
}
写一个支持多分辨的程序,基于16开发的,建立了三个资源文件夹drawable-hdpi drawable-mdpi drawable-ldpi,里面分别存放7272 4848 3636的icon图标文件。当我在G1(15的系统)上测试时,图标应该自适应为4848才对啊,但实际显示的是3636。怎么才能让其自适应 4848的icon图标呢
解决办法 drawable-hdpi drawable-mdpi drawable-ldpi改成drawable-480X320 drawable-800X480的多分辨支持的文件夹
Android应用如何全屏显示
要设置Android应用全屏显示有两种方式,第一种是在AndroidManifestxml文件中进行配置,另一种方式是在Activity中进行设置。此处仅描述第二种方式。设置全屏显示有两步工作,首先要取消显示标题栏,然后在全屏显示。代码如下:[email protected](Bundle savedInstanceState攻 {3superonCreate(savedInstanceState);4使屏幕不显示标题栏(必须要在setContentView方法执行前执行)5thisrequestWindowFeature(WindowFEATURE_NO_TITLE);6隐藏状态栏,使内容全屏显示(必须要在setContentView方法执行前执行)7thisgetWindow()setFlags(WindowManagerLayoutParamsFLAG_FULLSCREEN,8WindowManagerLayoutParamsFLAG_FULLSCREEN);9setContentView(Rlayoutsplash);10}强调,设置全屏显示时,这两行核心代码一定要在设置视图之前执行,即一定要位于setContentView()方法之前。
android开发 怎么实现全屏?
在manifest文件中添加如下theme属性即可
android:theme="@android:style/ThemeTranslucentNoTitleBarFullscreen"
android:label="">
android:theme="@android:style/ThemeTranslucentNoTitleBarFullscreen"
或者在代码中加入:
public void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
requestWindowFeature(WindowFEATURE_NO_TITLE);
getWindow()setFlags(WindowManagerLayoutParamsFLAG_FULLSCREEN,
WindowManagerLayoutParamsFLAG_FULLSCREEN);
怎么修改应用在安卓平板可以全屏
您好
根据伱的情况建议伱进入设置setting-显示这里可以调整下分辨率,这样也可以让游戏画图变化的,必要时候到当地的售后去咨询哦希望以上回答能够对你有所帮助
android程序如何实现全屏包括通知栏
requestWindowFeature(WindowFEATURE_NO_TITLE);放到onCreate()方法中setContentView(Rlayoutactivity_main)之前。
安卓怎么全屏,就是进软件把状态栏隐藏,
root后安装xposed框架 使用重力工具箱或appsettings试试
程序运行中如何设置activity为全屏显示?
thisgetWindow()addFlags(WindowManagerLayoutParamsFLAG_FULLSCREEN);
我下了个安卓模拟器,但是打开的手机应用太小,有没有能使应用全屏的软件。
对于有些不能铺满屏幕又希望铺满屏幕的应用,可以用windows自带的放大镜来实现,我经常这样搞
安卓手机局部控制手机全屏的软件,有吗?
安卓目前还木有开发这类软件呢,需要硬件的支持才可以!
然后手机上下载软件也是需要注意的,不要随意下载
最好是在应用宝里面下载,它上面的软件经过检测的,比较安全
先打开手机端的应用宝——直接搜索你的软件下载,查看列表,就可以下载!
当然,也可以通过数据线连接电脑的应用宝下载手机软件,在电脑上打开它,按照提示连接手机就可以省流量下载啦!很多的
安卓bluestacks模拟器怎么把微信弄全屏
点右下角的设置,选最后一项更改程序的大小,找到微信,选最左边的tablet就能全屏了
Android在手机平板上开发应用时,如何使用应用显示全屏,去掉屏幕中下图
我同事搞过这个有个,应该是相应的方法进行设置的。手头没有这设备,无法提供准确回答抱歉
手机屏幕转动固定的方法如下:
1、安卓手机:如果手机有状态栏,用户可以直接进入设置,显示中关闭自动旋转屏幕即可。自动旋转屏幕关闭后手机屏幕图像不会在随着手机改变方向而自动转动。
2、苹果手机:从手机屏幕底部自下而上滑动,拉出快捷设置面板;接着点击右上角屏幕旋转图标,之后点亮图标,出现提示“竖排方向锁定:打开”,即代表屏幕锁定,横放手机屏幕不会自动旋转。
手机是可以在较广范围内使用的便携式电话终端,全称为移动电话或无线电话,最初只是一种通讯工具,早期在中国有“大哥大”的俗称。手机最早是由美国贝尔实验室于1940年制造的战地移动电话机发展而来,后美国摩托罗拉工程师马丁·库帕于1973年发明了世界上第一部商业化手机。现代的手机除了典型的电话功能外,还包含了照相机、GPS和连接互联网等更多功能,它们都概括性地被称作智能手机。
欢迎分享,转载请注明来源:品搜搜测评网