问题标签 [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 - 设置自定义视图的大小
我正在创建一个自定义视图。在onDraw
方法中,我绘制了一个位图。Bitmaps
可以有不同的高度。我需要在图片加载后设置视图的高度。我得到onMeasure
并onDraw
在日志中。onMeasure
之前被调用onDraw
。在教程中说大小应该设置在onMeasure
. 如果高度的计算很耗时并且我需要在计算后设置它怎么办?在调用 onDraw 之前我必须预先计算尺寸吗?
java - 获取 RecyclerView 的总高度
我试图获得总高度RecyclerView
以将其分配给它的父级Dialog
以包装它。
我尝试这种方式来获得它:
但它适用于某些设备并在其他一些设备上例外:
java.lang.NullPointerException at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:493) at android.view.View.measure(View.java:15630)
xml内容是这样的:
我哪里错了?
android - 扩展覆盖 onMeasure() 的视图
我有一个view1
像这样扩展 FrameLayout 并覆盖 onMeasure() 的视图,因此它呈现为正方形:
现在我想创建另一个view2
扩展视图view1
,但现在我希望view2
高度等于父级,从而覆盖整个屏幕。截至目前,我也把它当作一个正方形。
我如何实现这一目标?
android - Scrollview FillViewport 滚动不起作用(MPAndroidChart)
目标:滚动视图中的多个图表(首先只是垂直可滚动,但在具有 2 列的 Gridview 中首选)
问题:垂直滚动不起作用
提示:图表的大小(使用 onMeasure)和 fillViewport = true 有效
从 stackoverflow 尝试了很多解决方案(使用 wrap_content、match_parent、weights 等),但没有成功。
MPAndroidChart 的变化
布局文件
MPAndroidChart.PieChartSquare 从原始 PieChart 扩展,但我添加了以下代码来调整字符大小。
谢谢并恭祝安康
更新
我使用自定义 Gridview 完成了这个技巧,然后为每个图表添加了一个 chartitem.xml。不幸的是,PieChartSquare 不起作用(什么都看不见),所以我必须使用 PieChart。
所以我没有得到正确的图表大小。它总是非常非常小。
android - onMeasure() 方法的视图和视图组有什么区别?
我正在学习一个自定义组件,我发现方法的view
and有一些不同。例如,有人调用,最后有人使用。区别在哪里?意味着什么?viewgroup
onMeasure()
super.onMeasure
setMeasuredDimension
measureChildren()
这是我第一次来这个社区,希望能得到我想要的答案,谢谢。
android - 如何在 onResume 中重绘自定义视图?
我在视图类的 onMeasure() 中对长度和高度大小进行了一些编辑,制作了一个自定义的图像视图。我已经在我的 Main Activity 的onCreate方法中设置了这个内容,但是这些更改不适用于我的 imageview。有什么解决方案可以在onResume方法中重绘我的 imageview 吗?因此,我在视图类中对 onMeasure() 所做的所有更改都将适用。
谁能帮我这个?非常感谢 !
android - setMeasuredDimension 后的 setGravity 不起作用
我创建了课程customTextView extent TextView
并设置textAlignment
为中心。在onMeasure
我改变了textview
宽度。
在那之后,textview align change to left and I used this.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
but it didn't change to center
android - 子视图的 onMeasure 和 onLayout 在其父视图的 requestLayout 之后不会被调用
我正在尝试了解 Android 如何测量和布置视图。我创建了一个带有自定义视图和视图组的示例应用程序。
自定义视图组
自定义视图
主要活动
activity_main.xml
当活动开始时onMeasure
,onLayout
和onDraw
在标记为CustomVieGroup1
和的视图组上被调用CustomVieGroup2
。每个视图组在其子视图上调用这些方法。没关系。我明白了。
当我调用标记为 CustomVieGroup 1requestLayout
的视图组时,在 CustomVieGroup 1上调用和调用。该小组在他们的孩子身上调用这些方法。我明白了。onMeasure
onLayout
onDraw
当我调用requestLayout
标记为 CustomVieGroup 2、和的视图组时onMeasure
,在 CustomVieGroup 2上调用。该小组在他们的孩子身上调用这些方法。我也理解。onLayout
onDraw
但是当我requestLayout
用 id 调用视图时,activity_main
没有调用or 。为什么?我期望,并且会在两者上调用and (即带有 id 的视图的 cgildren )onMeasure
onLayout
CustomVieGroup1
CustomVieGroup2
onMeasure
onLayout
onDraw
CustomVieGroup1
CustomVieGroup2
activity_main
这将安排视图树的布局传递。
java - Android: java.lang.ClassCastException: com.android.layoutlib.bridge.android.BridgeContext 无法转换为 android.app.Activity"
这些是详细的问题:
我的代码是:
作为一个新生,我渴望得到你的帮助。谢谢!