问题标签 [onmeasure]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在绘制之前获取调整大小的自定义视图的宽度和高度
在我的自定义 View .xml 中,我将宽度和高度定义为w = 600dp , h = 700dp
. 现在我知道 getMeasuredHeight() / getMeasuredWidth() 在绘制视图后给出宽度和高度值,它们可能与我在 .xml 文件中给出的值不同,是否有一种解决方法可以在视图实际绘制在布局上之前getMeasuredHeight()
获取值getMeasuredWidth()
, 不使用onMeasure()
?
以及如何计算dp
不同屏幕中更改的尺寸?像我600h*700w
在模拟器上运行时转换为300*300
.
android - Android:具有动态高度的 ScrollView 中的 Listview
目前我正在滚动视图中开发设置菜单。基本结构如下所示:
对于列表视图,我使用了自定义实现,给它一个固定高度并使其能够在滚动视图中滚动(注意:我必须在滚动视图中使用列表视图,因为我有很多元素,所以使用线性布局不会不好)。
}
列表视图的每一项都包含一个标签和一个网格视图,它们都显示正确。但现在我想实现功能,用户可以点击标签来显示和隐藏gridview的可见性。
但是,如果我单击标签并显示网格视图,则列表视图的高度不会适应新的打开元素。它始终保持在相同的高度,如果我打开一个元素,下面的元素将不再可见。如果我调用requestLayout()
listview 的方法再次触发它,这也会发生onMeasure
。
有人知道我做错了什么吗?
编辑:更新了我的 xml 文件:)
android - 滚动视图内的 FlowLayout
我正在滚动视图中创建一个流布局。现在我无法理解的问题是,如果 flowlayout 的高度小于滚动视图(即 match_parent),我希望我的 flowlayout 视图完全匹配父级,否则高度应该是包装内容。
这是我的 onMeasure 方法。
java - MeasureSpec.getMode() 如何从整数值中提取模式?
我在 Professional Android 4 Application Development 的第 4 章,它告诉我大小值和模式都是从传递给自定义视图的 onMeasure() 方法的 widthMeasureSpec 和 heightMeasureSpec 值中提取的。除了整数原语之外,那些不必是其他数据结构来实现这一点吗?这些整数的编码方式是否可以手动覆盖它们的值?
android - 重写 ViewGroup onMeasure,子 match_parent 不起作用
我有一个带有自定义onMeasure
方法的自定义 Relativelayout。代码如下。
上面代码的目的是设置height=width*ratio
.
这样做之后。layout_height
具有值的子视图match_parent
不会填充父视图的高度。它像wrap_content
.
我调试了子视图的measuredHeight
和。height
我发现它们不相等。它很奇怪。
我想知道我的代码有什么问题。我该如何解决?
android - Android:设置为 match_parent 时,在 onMeasure() 中获取 ViewGroup 的尺寸
我创建了自己的 ViewGroup,目的是在其区域内均匀分布 4 个元素。
ViewGroup 本身在宽度和高度上都设置为 match_parent,上面有一个 TextView:
手头的问题是如何从自己的类中获取 ViewGroup 本身的宽度,然后分配子项。我会假设这将在 onMeasure 方法中完成,但是在挖掘了这里和 Javadoc 之后,我找不到任何可以帮助我的东西。
所以这就是我找到你的原因!
android - 具有自动调整高度的 ScrollView 内的 ListView
我尝试在内部创建一个ListView
内部。所以我使用自定义方法来制作我的NonScrollable。ScrollView
EdiText
ListView
ListView
我的 ListView 项目 xml 是这样的:
自定义方法代码是这样的:
问题是当我在 EditText 中创建一个新行时,我的列表视图高度没有调整,并使我在 ListView 中的最后一个项目消失。截图是这样的:
我从这里看到: Android: Listview in ScrollView with dynamic height
它说更改ListView
为LinearLayout
..有人可以帮我怎么做吗?我不知道如何更改ListView
为LinearLayout
.
如果不必更改,LinearLayout
有什么办法可以调整我的高度,ListView
这样我的物品就不会消失?
需要帮助来解决这个问题。
android - Android:自定义视图在错误的 x,y 坐标处绘制
我正在尝试创建一个自定义视图,从视图组继承,并以自定义方式在该视图组内布局自定义子视图。基本上,我正在尝试创建一个类似于 Outlook 中的日历视图,其中每个事件都占据相对于其长度的屏幕高度。
我在 ViewGroup 的构造函数中初始化了一个 View 的 ArrayList,覆盖了 onMeasure、onLayout 和 onDraw,一切都运行良好,除了......渲染的视图都从 (0,0) 开始渲染,即使我将它们的左右属性设置为其他值。它们的宽度和高度都可以,只有顶部和左侧是错误的。
这是代码,为了清晰和简单,我将其缩写:
android - android: measureChildWithMargins 返回与 view.measure 不同的结果
我在 Android 中扩展了一个 ViewGroup。目前,为了测试,我只向该视图组添加了 1 个子视图 - 通过代码实例化的 TextView。
在 ViewGroup 的 onMeasure() 中,当我调用 时child.measure()
,孩子将其高度测量为整个屏幕高度,即使在创建它时,我将 WRAP_CONTENT 作为高度布局参数传递。但是,当我使用 测量孩子时measureChildWithMargins
,它会返回正确的高度。为什么是这样?
android - 具有动态高度的Android ViewPager
我有一个ViewPager
显示一些片段并在它们之间滑动,但高度ViewPager
是动态的基于内容。假设我有多个列表,每个列表都放在一个选项卡中,并且通过更改选项卡的高度ViewPager
应该正确更改我创建了一个自定义ViewPager
并覆盖onMeasure
但问题是ViewPager
在当前片段(可见片段)获得它的高度之前创建下一个片段措施。
这里是MyViewPager
:
我还尝试触发片段何时可见的onMeasure
方法,如下所示,但没有任何变化。MyViewPager