在Android中获取屏幕高度

在Android中获取屏幕高度,第1张

在Android中获取屏幕高度

工作解决方案:

创建两个虚拟视图

 <View    android:id="@+id/top"    android:layout_height="0dp"    android:layout_width="match_parent"    android:layout_alignParentTop="true" /><View        android:id="@+id/bottom"        android:layout_height="0dp"        android:layout_width="match_parent"        android:layout_alignParentBottom="true" />

现在,您应该调用

getLocationOnScreen(int[])
这两个视图以接收它们的位置。此函数返回2个整数的数组。第一个是x,第二个是y。我们只需要y。还要注意,只有在创建所有视图并
onCreate
退出方法之后,才返回正确的值。

我在从viewpager调用的常规片段上测试了此代码。

代码在

onCreateView
我的片段方法中。我仍然必须使用a
postDelayed
来获取正确的值。

final View top = (View) view.findViewById(R.id.top);    final View bottom = (View) view.findViewById(R.id.bottom);    new Handler().postDelayed(new Runnable() {        @Override        public void run() { int topLoc[] = new int[2]; top.getLocationOnScreen(topLoc); int BottomLoc[] = new int[2]; bottom.getLocationOnScreen(BottomLoc); Log.d(Constants.debug, "topY: "+ topLoc[1]+" BottomY:" + BottomLoc[1]);        }    },4000);

我有一个Nexus 4。

在常规模式下(状态栏和显示的软按钮):

07-05 02:28:23.367      565-565/com.torcellite.xx D/xx: topY: 50 BottomY:1182

在全屏模式下(不显示状态栏或软按钮):

07-05 02:29:17.360      707-707/com.torcellite.xx D/xx: topY: 0 BottomY:1280

您现在要做的就是减去。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5096062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存