根据Android中的屏幕尺寸动态添加视图[关闭]
Posted
技术标签:
【中文标题】根据Android中的屏幕尺寸动态添加视图[关闭]【英文标题】:Add views dynamically depending on the screen size in Android [closed] 【发布时间】:2012-06-11 22:23:08 【问题描述】:我想连续动态添加视图(水平或垂直)。每个视图都有固定的大小和固定的填充。 如何根据设备屏幕尺寸动态确定可以添加多少视图。例如,与 xhdpi 设备相比,较小的手机或带有 mdpi 的手机添加的视图数量可能较少。
谢谢。
【问题讨论】:
为什么需要动态添加视图或者这是设计的先决条件?如果您只想根据屏幕大小调整内容,请为每个逻辑屏幕密度创建不同的布局。 ***.com/q/9371617/1210260 的可能重复项 嘿 dcanh121 你有答案吗 【参考方案1】:有很多不同的方法。
首先,您可以通过调用 getWidth() 和 getHeight() 检查容器的大小 在您看来,您可以覆盖 onMeasure()
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
int parentWidth = MeasureSpec.getSize(widthMeasureSpec);
int parentHeight = MeasureSpec.getSize(heightMeasureSpec);
如果您有基于屏幕大小的不同 XML 布局,您可以查看其中一个加载的内容并采取相应措施。
【讨论】:
我只有一个布局文件,比如空的LinearLayout。然后我将动态添加视图到这个布局中。 假设你的 View 设置为 fill_parent,你为什么不直接调用 developer.android.com/reference/android/view/… 看看你在处理什么。 我会将布局设置为 fill_parent。如果视图设置为 fill_parent,我无法在布局中添加多个视图视图 好的。但是您仍然可以处理视图的父级并做同样的事情,不是吗? 我不是在问如何添加视图。我在问,如何根据设备(mdpi 或 hdpi)决定应该添加多少视图,因为在某些设备上只能显示 4 个视图,而其他设备可以显示 5 个视图。以上是关于根据Android中的屏幕尺寸动态添加视图[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
为 iphone 4s 和 5/5c/5s 屏幕尺寸开发的最佳实践 [关闭]