最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android編程實(shí)現(xiàn)屏幕自適應(yīng)方向尺寸與分辨率的方法

 更新時(shí)間:2015年12月01日 14:32:24   作者:fengyee_zju  
這篇文章主要介紹了Android編程實(shí)現(xiàn)屏幕自適應(yīng)方向尺寸與分辨率的方法,涉及Android屏幕分辨率、布局、橫豎屏切換等相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Android編程實(shí)現(xiàn)屏幕自適應(yīng)方向尺寸與分辨率的方法。分享給大家供大家參考,具體如下:

Android 屏幕自適應(yīng)方向尺寸與分辨率,包括屏幕界面布局、多分辨率支持、獲取屏幕尺寸、屏幕橫屏與豎屏等,android 模擬器橫屏,android 虛擬機(jī)橫屏,android 判斷橫屏,android 禁止橫屏,android 強(qiáng)制橫屏,android 橫屏事件,android 自適應(yīng)分辨率,android 屏幕自適應(yīng),android 圖片自適應(yīng),android 橫屏布局。

屏幕界面布局

Android 手機(jī)屏幕大小有 480x320 、640x360, 、800x480 ,怎樣讓 App 自動(dòng)適應(yīng)不同的屏幕呢?

我們可以在 res 目錄下創(chuàng)建不同的 layout 文件夾,比如 layout-640x360 、layout-800x480 ,所有的 layout 文件在編譯之后都會(huì)寫入 R.java 里,而系統(tǒng)將根據(jù)屏幕的大小自己選擇合適的 layout 進(jìn)行使用。

多分辨率支持

支持多分辨率有 mdpi、ldpi、hdpi 3個(gè)文件。

① hdpi 里面存放高分辨率的圖片,如 WVGA (480x800),FWVGA (480x854) ;
② mdpi 里面存放中等分辨率的圖片,如 HVGA (320x480) ;
③ ldpi 里面存放低分辨率的圖片,如 QVGA (240x320) 。

系統(tǒng)將根據(jù)機(jī)器的分辨率來(lái)分別到這幾個(gè)文件夾里面去找對(duì)應(yīng)的圖片,在程序開發(fā)中,為了兼容不同平臺(tái)不同屏幕,建議將不同版本圖片根據(jù)需求存放在各自對(duì)應(yīng)的文件夾中。
獲取屏幕尺寸

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight();
DisplayMetrics dm = new DisplayMetrics(); 
dm = getResources().getDisplayMetrics(); 
int screenWidth = dm.widthPixels; 
int screenHeight = dm.heightPixels; 
float density = dm.density; 
float xdpi = dm.xdpi; 
float ydpi = dm.ydpi;

屏幕橫屏與豎屏

1、橫屏豎屏自動(dòng)切換

首先在 res 目錄下建立 layout-port-800x600和layout-land 兩個(gè)目錄,里面分別放置豎屏和橫屏兩種布局文件,這樣在手機(jī)屏幕方向變化的時(shí)候系統(tǒng)會(huì)自動(dòng)調(diào)用相應(yīng)的布局文件,避免一種布局文件無(wú)法滿足兩種屏幕顯示的問題。

有的程序適合從豎屏切換到橫屏,或者反過(guò)來(lái),這個(gè)時(shí)候怎么辦呢?可以在配置 Activity 的地方進(jìn)行如下的配置:

復(fù)制代碼 代碼如下:
android:screenOrientation="portrait"

這樣就可以保證是豎屏總是豎屏了,或者 landscape 橫向。

而有的程序是適合橫豎屏切換的。如何處理呢?首先要在配置 Activity 的時(shí)候進(jìn)行如下的配置:

復(fù)制代碼 代碼如下:
android:configChanges="keyboardHidden|orientation"

另外需要重寫 Activity 的 onConfigurationChanged 方法。實(shí)現(xiàn)方式如下:

@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 
} 
}

2、不同分辨率橫屏豎屏自動(dòng)切換

以800x600 為例,可以在res目錄下建立 layout-port-800x600 和 layout-land-800x600 兩個(gè)目錄

說(shuō)明:每個(gè) activity 都有這個(gè)屬性 screenOrientation ,每個(gè) activity 都需要設(shè)置,可以設(shè)置為豎屏(portrait),也可以設(shè)置為無(wú)重力感應(yīng)(nosensor)。

3、屏幕固定,不隨手機(jī)方向轉(zhuǎn)動(dòng)而變化

可以在 AndroidManifest.xml 中配置,加入:

復(fù)制代碼 代碼如下:
android:screenOrientation="landscape"

例如(landscape 是橫向,portrait 是縱向):

<?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 每次屏幕的切換動(dòng)會(huì)重啟 Activity ,所以應(yīng)該在Activity銷毀前保存當(dāng)前活動(dòng)的狀態(tài),在Activity再次Create的時(shí)候載入配置,那樣進(jìn)行中的游戲就不再自動(dòng)重啟。

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 詳解Flutter如何使用Completer實(shí)現(xiàn)防抖功能

    詳解Flutter如何使用Completer實(shí)現(xiàn)防抖功能

    防抖是用于確保時(shí)間內(nèi)的所有觸發(fā)被合并成單一請(qǐng)求,在Flutter中,我們可以使用Completer 來(lái)實(shí)現(xiàn)防抖功能,下面我們就來(lái)看看具體實(shí)現(xiàn)方法吧
    2024-03-03
  • Android如何獲取APP啟動(dòng)時(shí)間

    Android如何獲取APP啟動(dòng)時(shí)間

    大家好,本篇文章主要講的是Android如何獲取APP啟動(dòng)時(shí)間,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Android接入支付寶和微信支付的方法

    Android接入支付寶和微信支付的方法

    這篇文章主要介紹了Android接入支付寶和微信支付的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Android移動(dòng)應(yīng)用開發(fā)指南之六種布局詳解

    Android移動(dòng)應(yīng)用開發(fā)指南之六種布局詳解

    Android應(yīng)用界面要美觀好看,就需要運(yùn)用到一定的布局技術(shù),Android布局是不可忽視的,是android應(yīng)用界面開發(fā)的重要一環(huán),這篇文章主要給大家介紹了關(guān)于Android移動(dòng)應(yīng)用開發(fā)指南之六種布局的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Android自定義View繪制居中文本

    Android自定義View繪制居中文本

    這篇文章主要為大家詳細(xì)介紹了Android自定義View繪制居中文本,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Android ViewPager實(shí)現(xiàn)輪播圖效果

    Android ViewPager實(shí)現(xiàn)輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了Android ViewPager實(shí)現(xiàn)輪播圖效果的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android 開發(fā)使用PopupWindow實(shí)現(xiàn)彈出警告框的復(fù)用類示例

    Android 開發(fā)使用PopupWindow實(shí)現(xiàn)彈出警告框的復(fù)用類示例

    這篇文章主要介紹了Android 開發(fā)使用PopupWindow實(shí)現(xiàn)彈出警告框的復(fù)用類,結(jié)合實(shí)例形式分析了Android基于PopupWindow彈出警告框的復(fù)用類具體布局與功能實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2020-05-05
  • Android開發(fā)筆記 最好使用eclipse

    Android開發(fā)筆記 最好使用eclipse

    值得注意一點(diǎn)的是,雖然Myeclipse比eclipse功能更強(qiáng)大,但是在具體的安卓開發(fā)過(guò)程當(dāng)中,最好還是選用eclipse,sdk跟eclipse的兼容性更好
    2012-11-11
  • android實(shí)現(xiàn)滾動(dòng)文本效果

    android實(shí)現(xiàn)滾動(dòng)文本效果

    這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)滾動(dòng)文本效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • Android 使用jQuery實(shí)現(xiàn)item點(diǎn)擊顯示或隱藏的特效的示例

    Android 使用jQuery實(shí)現(xiàn)item點(diǎn)擊顯示或隱藏的特效的示例

    本篇文章主要介紹了Android 使用jQuery實(shí)現(xiàn)item點(diǎn)擊顯示或隱藏的特效的示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03

最新評(píng)論

广东省| 阿巴嘎旗| 格尔木市| 潞西市| 简阳市| 建水县| 海南省| 米脂县| 信宜市| 巴彦淖尔市| 和龙市| 江达县| 上虞市| 清远市| 长子县| 沙雅县| 星子县| 南靖县| 社会| 开平市| 南宫市| 罗山县| 三原县| 嘉荫县| 靖边县| 临江市| 鄢陵县| 普格县| 门头沟区| 龙川县| 盐源县| 柯坪县| 井陉县| 桐庐县| 铅山县| 眉山市| 吉隆县| 青海省| 板桥市| 张掖市| 三原县|