第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Android中獲取屏幕寬度和高度

在Android中獲取屏幕寬度和高度

慕妹3242003 2019-07-11 14:55:31
在Android中獲取屏幕寬度和高度如何獲得屏幕的寬度和高度,并在以下內(nèi)容中使用此值:@Override protected void onMeasure(int widthSpecId, int heightSpecId) {     Log.e(TAG, "onMeasure" + widthSpecId);     setMeasuredDimension(SCREEN_WIDTH, SCREEN_HEIGHT -          game.findViewById(R.id.flag).getHeight());}
查看完整描述

3 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個贊

使用此代碼,您可以獲得運(yùn)行時顯示的寬度和高度:

DisplayMetrics displayMetrics = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;int width = displayMetrics.widthPixels;

在視圖中,您需要這樣做:

((Activity) getContext()).getWindowManager()
                         .getDefaultDisplay()
                         .getMetrics(displayMetrics);

在某些情況下,在設(shè)備有導(dǎo)航欄的情況下,必須在運(yùn)行時檢查:

public boolean showNavigationBar(Resources resources){
    int id = resources.getIdentifier("config_showNavigationBar", "bool", "android");
    return id > 0 && resources.getBoolean(id);}

如果設(shè)備有導(dǎo)航條,則計(jì)算其高度:

private int getNavigationBarHeight() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        int usableHeight = metrics.heightPixels;
        getWindowManager().getDefaultDisplay().getRealMetrics(metrics);
        int realHeight = metrics.heightPixels;
        if (realHeight > usableHeight)
            return realHeight - usableHeight;
        else
            return 0;
    }
    return 0;}

設(shè)備的最終高度是:

int height = displayMetrics.heightPixels + getNavigationBarHeight();


查看完整回答
反對 回復(fù) 2019-07-11
?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個贊

有一個非常簡單的答案,而且沒有PASS上下文。

public static int getScreenWidth() {
    return Resources.getSystem().getDisplayMetrics().widthPixels;}public static int getScreenHeight() {
    return Resources.getSystem().getDisplayMetrics().heightPixels;}

注意:如果您想要的高度包括導(dǎo)航欄,請使用下面的方法

WindowManager windowManager =
        (WindowManager) BaseApplication.getApplication().getSystemService(Context.WINDOW_SERVICE);
    final Display display = windowManager.getDefaultDisplay();
    Point outPoint = new Point();
    if (Build.VERSION.SDK_INT >= 19) {
        // include navigation bar
        display.getRealSize(outPoint);
    } else {
        // exclude navigation bar
        display.getSize(outPoint);
    }
    if (outPoint.y > outPoint.x) {
        mRealSizeHeight = outPoint.y;
        mRealSizeWidth = outPoint.x;
    } else {
        mRealSizeHeight = outPoint.x;
        mRealSizeWidth = outPoint.y;
    }


查看完整回答
反對 回復(fù) 2019-07-11
?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個贊

僅為了更新Parag和SPK的答案,使其與當(dāng)前SDK從不推薦的方法中的向后兼容性對齊:

int Measuredwidth = 0;  int Measuredheight = 0;  Point size = new Point();WindowManager w = getWindowManager();
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)    {
    w.getDefaultDisplay().getSize(size);
    Measuredwidth = size.x;
    Measuredheight = size.y; }else{
    Display d = w.getDefaultDisplay(); 
    Measuredwidth = d.getWidth(); 
    Measuredheight = d.getHeight(); }


查看完整回答
反對 回復(fù) 2019-07-11
  • 3 回答
  • 0 關(guān)注
  • 897 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號