android獲取屏幕高度和寬度的實現(xiàn)方法
本文實例講述了android獲取屏幕高度和寬度的實現(xiàn)方法。分享給大家供大家參考。具體分析如下:
我們需要獲取Android手機或Pad的屏幕的物理尺寸,以便于界面的設(shè)計或是其他功能的實現(xiàn)。下面就介紹講一講如何獲取屏幕的物理尺寸
下面的代碼即可獲取屏幕的尺寸。
在一個Activity的onCreate方法中,寫入如下代碼:
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕寬度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)
float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)
但是,需要注意的是,在一個低密度的小屏手機上,僅靠上面的代碼是不能獲取正確的尺寸的。比如說,一部240x320像素的低密度手機,如果運行上述代碼,獲取到的屏幕尺寸是320x427。因此,研究之后發(fā)現(xiàn),若沒有設(shè)定多分辨率支持的話,Android系統(tǒng)會將240x320的低密度(120)尺寸轉(zhuǎn)換為中等密度(160)對應(yīng)的尺寸,這樣的話就大大影響了程序的編碼。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens節(jié)點,具體的內(nèi)容如下:
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />
這樣的話,當前的Android程序就支持了多種分辨率,那么就可以得到正確的物理尺寸了。
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.widget.TextView;
public class TextCanvasActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(new MyView(this));
//定義DisplayMetrics 對象
setContentView(R.layout.main);
DisplayMetrics dm = new DisplayMetrics();
//取得窗口屬性
getWindowManager().getDefaultDisplay().getMetrics(dm);
//窗口的寬度
int screenWidth = dm.widthPixels;
//窗口高度
int screenHeight = dm.heightPixels;
TextView textView = (TextView)findViewById(R.id.tv1);
textView.setText("屏幕寬度: " + screenWidth + "\n屏幕高度: " + screenHeight);
}
}
希望本文所述對大家的Android程序設(shè)計有所幫助。
相關(guān)文章
在Android打包中區(qū)分測試和正式環(huán)境淺析
這篇文章主要給大家介紹了關(guān)于在Android打包中如何區(qū)分測試和正式環(huán)境的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起看看吧。2017-10-10android.enableD8.desugaring?=?false引發(fā)問題解決
這篇文章主要為大家介紹了android.enableD8.desugaring?=?false引發(fā)問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03Android使用vitamio插件實現(xiàn)視頻播放器
這篇文章主要為大家詳細介紹了Android使用vitamio實現(xiàn)視頻播放器,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04淺析Android Dialog中setContentView()方法
本篇文章主要介紹了Android Dialog中setContentView()方法的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧2017-05-05Android開發(fā)之電話撥號器和短信發(fā)送器實現(xiàn)方法
這篇文章主要介紹了Android開發(fā)之電話撥號器和短信發(fā)送器實現(xiàn)方法,結(jié)合實例形式較為詳細的分析了Android電話撥號器和短信發(fā)送器的具體原理與實現(xiàn)步驟,需要的朋友可以參考下2015-12-12