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

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

如何在Android上檢查設(shè)備自然(默認(rèn))方向

如何在Android上檢查設(shè)備自然(默認(rèn))方向

千萬里不及你 2019-11-30 13:44:46
我有一個(gè)活動(dòng)顯示來自攝像機(jī)的預(yù)覽,因此僅需要將其設(shè)置為橫向。在底部(無論設(shè)備旋轉(zhuǎn)如何),我想顯示一個(gè)文本視圖。我正在使用OrientationEventListener,它從其自然位置給出設(shè)備的方向。我可以實(shí)現(xiàn)一個(gè)在縱向默認(rèn)設(shè)備上運(yùn)行良好的解決方案,但要使其在橫向默認(rèn)設(shè)備上也可以運(yùn)行,我需要知道在此類設(shè)備上運(yùn)行。因此問題是如何檢查?
查看完整描述

3 回答

?
UYOU

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

此方法可以幫助:-


public int getDeviceDefaultOrientation() {


    WindowManager windowManager =  (WindowManager) getSystemService(Context.WINDOW_SERVICE);


    Configuration config = getResources().getConfiguration();


    int rotation = windowManager.getDefaultDisplay().getRotation();


    if ( ((rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_180) &&

            config.orientation == Configuration.ORIENTATION_LANDSCAPE)

        || ((rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270) &&    

            config.orientation == Configuration.ORIENTATION_PORTRAIT)) {

      return Configuration.ORIENTATION_LANDSCAPE;

    } else { 

      return Configuration.ORIENTATION_PORTRAIT;

    }

}


查看完整回答
反對 回復(fù) 2019-11-30
?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊

好吧,您可以找出@Urboss所說的當(dāng)前方向是什么。您無法以這種方式獲取布局(橫向/縱向),因此您必須獲取屏幕寬度/高度才能檢查當(dāng)前(是否已更改,但您已經(jīng)檢查過;))位置是否為橫向?;蛐は瘢?/p>


    DisplayMetrics dm = new DisplayMetrics();

    getWindowManager().getDefaultDisplay().getMetrics(dm);

    wPix = dm.widthPixels;

    hPix = dm.heightPixels;

(因此,如果旋轉(zhuǎn)角度為0,并且您獲得的景觀水平高于metrix,則您的設(shè)備為默認(rèn)水平景觀。如果旋轉(zhuǎn)角度為90度并且您是縱向的,則默認(rèn)情況下也為水平景觀,依此類推)


查看完整回答
反對 回復(fù) 2019-11-30
?
慕碼人2483693

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊

經(jīng)過數(shù)小時(shí)的嘗試來解決這個(gè)問題。這是不可能的。但是,您最能做的是將方向設(shè)置為“ NOSENSOR”


 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);

這將把您的應(yīng)用程序設(shè)置為設(shè)備的自然方向。此時(shí),您可以使用DisplayMetrics類獲取顯示的高度和寬度,并計(jì)算您是橫向還是縱向。然后確定是橫向還是縱向后,即可執(zhí)行此操作


setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_XXXXX);


其中XXXX是LANDSCAPE或PORTRAIT。


如果您有滑出式鍵盤,則可能無法執(zhí)行此操作。


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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