当前位置:首页 » 安卓系统 » android自适应

android自适应

发布时间: 2022-09-19 16:25:50

⑴ android中如何让程序自适应屏幕大小

不同的android
target会有不同的大小,应用程序的界面需要针对不同的大小调整界面元素的尺寸。而且屏幕也可以在横屏和竖屏之间切换,界面也需要调整。
默认情况下,当屏幕方面切换时,activity的oncreate()方法会被重新调用,所以可以在其中通过以下代码来读取屏的方向:
public
void
oncreate()
{
if(this.getresources().getconfiguration().orientation
==
configuration.orientation_landscape)
{
log.i("info",
"landscape");
}
else
if
(this.getresources().getconfiguration().orientation
==
configuration.orientation_portrait)
{
log.i("info",
"portrait");}}
如果在androidmanifest.xml中加入配置
android:configchanges="orientation|keyboardhidden|navigation
当屏幕翻转时,activity就不会重复的调用oncreate()、onpause()和onresume().
而是调用onconfigurationchanged(configuration
newconfig)
int
screenwidth,screenheight;
windowmanager
windowmanager
=
getwindowmanager();
display
display
=
windowmanager.getdefaultdisplay();
screenwidth
=
display.getwidth();
screenheight
=
display.getheight();
也有人提到另一种方法:
displaymetrics
dm
=
new
displaymetrics();
getwindowmanager().getdefaultdisplay().getmetrics(dm);

⑵ android开发软件如何做到自适应屏幕大小及不同分辨率的手机

  1. 代码中尽量不要设置控件的宽高(尽量使用match_parent或者wrap_content)

  2. 即使某些时候要一定要设置控件的大小,那也要用(控件用dp,字体用sp)

  3. 图片要分多套设计,mdpi里放320*480的;hdpi里放480*800的;xhdpi放720*1280的;xxhdpi里放1080*1920大小的

  4. 某些时间需要按屏幕大小平分的,使用android:layout_weight=""这个属于来平分


不明白邮件我

⑶ android开发如何让一个app自适应两种分辨率的屏幕

使用dp单位。LinearLayout中合理使用weight权重这个属性。

⑷ Android程序如何自适应屏幕的方向和大小

不同的Android target会有不同的大小,应用程序的界面需要针对不同的大小调整界面元素的尺寸。而且屏幕也可以在横屏和竖屏之间切换,界面也需要调整。 默认情况下,当屏幕方面切换时,activity的onCreate()方法会被重新调用,所以可以在其中通过以下代码来读取屏的方向: public void onCreate() { if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { Log.i("info", "landscape"); } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { Log.i("info", "portrait");}}如果在androidmanifest.xml中加入配置 android:configChanges="orientation|keyboardHidden|navigation 当屏幕翻转时,Activity就不会重复的调用onCreate()、onPause()和onResume(). 而是调用onConfigurationChanged(Configuration newConfig) int screenWidth,screenHeight; WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); screenWidth = display.getWidth(); screenHeight = display.getHeight(); 也有人提到另一种方法: DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm);

⑸ android如何设置图片自适应控件大小

<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/ic_launcher"/>

宽度和高度使用fill_parent (填充父窗体)

fill_parent 可以使控件充满父控件,也就是你说的自动使用图片控件外的控件大小。

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

一:不同的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)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
更正:应该是对应不同density 的图片
在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。
[i]备注:三者的分辨率不一样,就像你把电脑的分辨率调低,图片会变大一样,反之分辨率高,图片缩小。 [/i]
屏幕方向:
横屏竖屏自动切换:
可以在res目录下建立layout-port-800x600和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,这样在手机屏幕方向变化的时候系统会自动调用相应的布局文件,避免一种布局文件无法满足两种屏幕显示的问题。
不同分辨率横屏竖屏自动切换:
以800x600为例
可以在res目录下建立layout-port-800x600和layout-land-800x600两个目录
不切换:
以下步骤是网上流传的,不过我自己之前是通过图形化界面实现这个配置,算是殊途同归,有空我会把图片贴上来。
还要说明一点:每个activity都有这个属性screenOrientation,每个activity都需要设置,可以设置为竖屏(portrait),也可以设置为无重力感应(nosensor)。
要让程序界面保持一个方向,不随手机方向转动而变化的处理办法:
在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation="landscape"。
例如(landscape是横向,portrait是纵向):
Java代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ray.linkit"
android:versionCode="1"
android:versionName="1.0">
<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="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</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) {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
// land do nothing is ok
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// port do nothing is ok
}
}
写一个支持多分辨的程序,基于1.6开发的,建立了三个资源文件夹drawable-hdpi drawable-mdpi drawable-ldpi,里面分别存放72*72 48*48 36*36的icon图标文件。当我在G1(1.5的系统)上测试时,图标应该自适应为48*48才对啊,但实际显示的是36*36。怎么才能让其自适应 48*48的icon图标呢
解决办法 drawable-hdpi drawable-mdpi drawable-ldpi改成drawable-480X320 drawable-800X480的多分辨支持的文件夹

⑺ 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+

热点内容
授权轻松访问 发布:2025-01-11 14:51:50 浏览:406
大主宰脚本 发布:2025-01-11 14:40:56 浏览:826
ftp保存密码是灰色 发布:2025-01-11 14:00:07 浏览:261
压缩文件最好 发布:2025-01-11 13:59:58 浏览:649
有几家java培训机构 发布:2025-01-11 13:55:05 浏览:476
搭建个人服务器缺点 发布:2025-01-11 13:54:13 浏览:376
怎么用安卓的手机登录ios第五人格 发布:2025-01-11 13:44:11 浏览:769
登陆Ftp重输密码 发布:2025-01-11 13:40:12 浏览:335
解压神器有氧射击 发布:2025-01-11 13:33:04 浏览:854
百度云的好友在哪个文件夹 发布:2025-01-11 13:32:13 浏览:750