ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î


[¾Èµå·ÎÀ̵å] È­¸é »çÀÌÁî ±¸Çϱâ
7³â Àü
¾Æ·¡ Äڵ忡¼­ 4°¡Áö ¹æ¹ýÀ¸·Î È­¸é »çÀÌÁ ±¸ÇÏ°í ÀÖ´Ù.
WindowManager wm = (WindowManager) mActivity.getSystemService(Context.WINDOW_SERVICE);
Window window = mActivity.getWindow();

Rect windowRect = new Rect();
Rect screenRect = new Rect();
//Excludes status bar & soft key
window.getDecorView().getWindowVisibleDisplayFrame(windowRect);
//Whole screen
window.getDecorView().getGlobalVisibleRect(screenRect);
int topGap = windowRect.top - screenRect.top;
// Sometimes, status bar is at bottom...
int bottomGap = windowRect.bottom - screenRect.bottom;
int statusBarHeight = (bottomGap > topGap)? bottomGap:topGap;

Log.i(TAG, "windowRect " + windowRect.toString());
Log.i(TAG, "screenRect " + screenRect.toString());

Point outSize = new Point();
//Content screen
wm.getDefaultDisplay().getSize(outSize);
Log.i(TAG, "outSize " + outSize.toString());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        Point realSize = new Point();
        wm.getDefaultDisplay().getRealSize(realSize);//Whole screen
        Log.i(TAG, "realSize " + realSize.toString());
}



½ÇÁ¦ ·Î±×¸¦ Âï¾îº¸¸é, ´ëºÎºÐ °ªÀÌ ¸Â´Âµ¥ Æù¸¶´Ù outSize °ªÀÌ ´Ù¸£°Ô ³ª¿À´Â °æ¿ì°¡ ÀÖ´Ù. ¼ÒÇÁÆ® Å°¸¦ ¾²µç Çϵå¿þ¾î Å°¸¦ ¾²µç outSize¿¡¼­ ¾Ë¸²¹Ù ³ôÀÌ°¡ ºüÁ®¼­ ³ª¿À´Â °Ô »ó½ÄÀûÀ¸·Î ¸ÂÀ» °Í °°Áö¸¸ ±×·¸Áö ¾Ê´Ù. ¾Æ·¡´Â °¶³ëÆ®4¿Í ³Ø¼­½º5¸¦ ºñ±³ÇÑ °ÍÀÌ´Ù.

* soft key device (nexus 5 etc.)
windowRect Rect(0, 75 - 1080, 1776) -->status bar:75, soft key:144
screenRect Rect(0, 0 - 1080, 1920)
outSize Point(1080, 1776) --> Excludes status bar & soft key
realSize Point(1080, 1920)

* hard key device(G note4 etc.)
windowRect Rect(0, 100 - 1440, 2560) -->status bar:100
screenRect Rect(0, 0 - 1440, 2560)
outSize Point(1440, 2560) --> Contains status bar ;;
realSize Point(1440, 2560)

Á¶½ÉÇØ¾ß ÇÑ´Ù.


ÀÌ¿Í °ü·ÃÇؼ­ Á» ´çȲ½º·¯¿î °ÍÀÌ ÀÖ´Ù. PopupWindow¸¦ È­¸é ÇÏ´Ü¿¡ ¶ç¿ì·Á°í showAtLocation(View parent, Gravity gravity, int x, int y)À» ½ÇÇàÇß´Ù. À̶§ °ªÀÌ (gravity=top, x=0, y=0). »ó½ÄÀûÀ¸·Î outSize.bottom¿¡¼­ Ä¿½ºÅÒ ºäÀÇ ³ôÀ̸¸Å­ »©¸é Ä¿½ºÅÒ ºÎ°¡ ³õÀÏ À§Ä¡°¡ ³ª¿ÃÅÙµ¥, ³Ø¼­½º5¿¡¼­´Â ²À ¾Ë¸²¹Ù ³ôÀ̸¸Å­ Â÷ÀÌ°¡ ³­´Ù. ³­°¨ÇÏ´Ù.. ±×·¡¼­ È­¸éÀÇ ÇÏ´Ü¿¡ ºä¸¦ ³õ°íÀÚ ÇÑ´Ù¸é windowRect.bottom°ú screenRect.bottom ÀÌ ´Ù¸¥Áö ºñ±³Çغ¸ÀÚ.
mViewY = windowRect.bottom - mContainer.getMeasuredHeight();
if(windowRect.bottom != screenRect.bottom) {
    mViewY -= statusBarHeight;
}


Update : G2 ·Ñ¸®ÆË ¹öÀü(¼ÒÇÁƮŰ)¿¡¼­´Â ³Ø¼­½º5¿Í µ¿ÀÏÇÑ ¼öÄ¡°¡ ³ª¿ÀÁö¸¸, À§ Äڵ带 Àû¿ëÇÒ ¼ö ¾ø´Ù. ¼ÒÇÁÆ® Å°¸¦ °®°í ÀÖ´Â ÆùÀÌÁö¸¸ 0,0 °ªÀÇ ±âÁØÀÌ Æ˾÷ºäÀÇ parent ¿µ¿ª¾È¿¡¼­ ¼³Á¤µÇ´Â µí...
ÃßõÃßõ : 262 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
1,256
[ANDROID & PHP] °£´ÜÇÑ ·Î±×ÀÎ ÀÎÁõ
1,255
ÇöÀç½Ã°£ °¡Á®¿À±â
1,254
ÇÑ ¸Þ¼Òµå·Î Spinner ¿©·¯°³ »ç¿ëÇϱâ
1,253
startActivityForResult °ª ÁÖ°í¹Þ±â
1,252
Ä¿½ºÅÒ ´ÙÀ̾ó·Î±× ¸¸µé±â
1,251
Android ÀÇ Storage Path ¹× ÄÚµå ±¸Çö ±â¼ú
1,250
¾Èµå·ÎÀ̵忡¼­ ¶ç¿ï¼ö ÀÖ´Â ¿©·¯°¡Áö ´ÙÀ̾ó·Î±×
1,249
3°¡Áö ¸Þ¼Òµå·Î ³¡³»´Â ¾Èµå·ÎÀÌµå ¸¶½Ã¸á·Î ±ÇÇÑ È¹µæ
1,248
ACTIVITY¿¡¼­ Ȩ ¹öÆ° CATCH ÇÏ´Â ÇÔ¼ö
1,247
ÇöÀç ½ÇÇàÁßÀÎ ACTIVITY¸¦ ¾Ë¾Æ¿À´Â ÇÔ¼ö
1,246
°­Á¦·Î ȨŰ ´­¸°°Í ó·³
1,245
¾Èµå·ÎÀ̵å ÀÎÅÙÆ® / intent
1,244
¸ð¹ÙÀÏ ½º¸¶Æ®Æù Ư¼ö¹®ÀÚ ¸ðÀ½
1,243
Android/iOS UserAgent ±¸ºÐ ¹× ¸ð¹ÙÀÏÀ¥ÆäÀÌÁö¿¡¼­ ¾Û ¼³Ä¡ ¿©ºÎ È®ÀÎ
1,242
Android À¥ ºê¶ó¿ìÀú ¸µÅ©·Î ¾Û ½ÇÇà ¹æ¹ý
1,241
WebView File Upload
1,240
Get RealPath from Uri
1,239
android.net.conn.CONNECTIVITY_CHANGE
1,238
Glide ¿¡¼­ Gif ·Îµå°¡ ³Ê¹« ´À·Á¿ä.
1,237
ImageView¸¦ Width ±æÀÌ¿¡ ¸ÂÃç Height Á¶Àý
1,236
³»Àå ½ºÇÇÄ¿·Î ¿¬°á Çϱâ
1,235
Media Player¸¦ ÀÌ¿ëÇÑ À½¾Ç Àç»ý ¾îÇø®ÄÉÀÌ¼Ç ¸¸µé¾îº¸±â
1,234
DataBinding - findViewById ÀÌÁ¦ ¾È³ç~
1,233
[DataBinding] String Format Àû¿ëÇϱâ
1,232
[DataBinding] ImageView src¿¡ ¿¬µ¿ Çϱâ (ÇÔ¼ö ¿¬°á)
1,231
Scheme ¼³Á¤ ½Ã, ¾ÛÀÌ ¾Èº¸ÀÌ´Â Çö»ó
1,230
WebView¿¡¼­ Javascript Alert âÀÌ º¸ÀÌÁö ¾ÊÀ» ¶§
1,229
À¥ºäÈ­¸é¿¡¼­ ÀÓÀÇ µµ¸ÞÀÎÀ» Á¦¿ÜÇÑ »çÀÌÆ®´Â ¿ÜºÎ ºê¶ó¿ìÀú·Î
1,228
android webview url °¡·Îä±â / ³×ÀÌƼºê¿¡¼­ ÀÛ¾÷ | android
1,227
µð¹ÙÀ̽º ºÎÆýà ¾Û ½ÇÇàÇÏ´Â ¹æ¹ý / ÀçºÎÆà ½Ã ¾îÇà ½ÇÇàÇÏ´Â ¹æ¹ý
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.