繁体   English   中英

Android:如何获取小部件的高度(以像素为单位)?

[英]Android: How to get height of widget in pixels?

我想在AppWidgetProvider类中获取以像素为单位的小部件的确切高度。 经过观察,我可以看到小部件的1个块高度在2个设备上是不同的,尽管它们都是xxxhdpi。 因此,我想获取以像素为单位的高度,以进行正确的计算。 我的意思不是minHeight,在我的情况下,它相当于40dp像素。

我认为view.getHeight返回像素值。为了进行正确的计算, dp而不是px很有用

Android中的每个视图(小部件也是视图)都有两个公共方法:getWidth()和getHeight(),它们将在屏幕上返回其实际大小。 可以在“ 大小”,“填充”和“边距”下找到更多详细信息 查看API参考

编辑:基于此: https : //stackoverflow.com/posts/42419929/edit,您可以使用以下命令设置布局:

RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.example_appwidget);
appWidgetManager.updateAppWidget(mAppWidgetId, views);

从RemoteViews文档https://developer.android.com/reference/android/widget/RemoteViews.html,您可以通过views.getLayoutId()获得根布局的ID。在我看来,您应该可以使用该ID以查找布局,然后继续使用getHeight。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM