Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 缩小RelativeLayout视图后,如何更新其正确大小?_Android_Android Layout - Fatal编程技术网

Android 缩小RelativeLayout视图后,如何更新其正确大小?

Android 缩小RelativeLayout视图后,如何更新其正确大小?,android,android-layout,Android,Android Layout,我有一个基于的类,它扩展了FrameLayout。它具有扩展RelativeLayout的类的单个子视图。我已将收缩缩放功能添加到父框架布局,然后更改子相对视图的比例: child().setScaleX(scale); child().setScaleY(scale); 注意:它只允许缩小比例>1,而不允许缩小比例 父FrameLayout也应该随子FrameLayout自动缩小,但它保持与缩小前完全相同的大小。这并不奇怪,因为当我用getMeasuredWidth检查孩子的宽度时,无论缩放

我有一个基于的类,它扩展了FrameLayout。它具有扩展RelativeLayout的类的单个子视图。我已将收缩缩放功能添加到父框架布局,然后更改子相对视图的比例:

child().setScaleX(scale);
child().setScaleY(scale);
注意:它只允许缩小比例>1,而不允许缩小比例

父FrameLayout也应该随子FrameLayout自动缩小,但它保持与缩小前完全相同的大小。这并不奇怪,因为当我用getMeasuredWidth检查孩子的宽度时,无论缩放前后,它总是2098


为什么子视图的宽度和高度测量值不受其缩放的影响?我如何才能正确地解决这个问题,以便家长也相应地减小其大小?

我已经找到了一些可能的解决方案,但如果有更可靠的方法来解决这个问题,我会很感兴趣。我的解决方案是覆盖子对象中的onMeasure,以考虑其规模。问题是,在滚动中用于检测最大滚动范围的getRight和getBottom也完全忽略缩放,并且是最终的,所以不能被覆盖。因此,我必须在每次调用getRight和getBottom时添加刻度,使其变得丑陋且不一致。所以,虽然这对我来说现在很有效,但听到更好的想法会很有意思。澄清一下:getRight和getBottom是我认为需要测量的。在我的具体情况下,我必须保持不变,但需要GeTrand和GutButt也考虑规模,导致我的解决方案,应用规模的所有调用他们的ToDoScVIEWLVIEW。