大布局Android/Java

问题描述 投票:0回答:1

我想制作一个带有缩放选项的扫雷应用程序(Android/Java),100%或200% - 目前没有可变缩放,没有缩放手势。

我可以创建一个宽度和高度是屏幕两倍大的视图,然后移动它吗?或者我必须移动所有按钮和标签吗?

我想在顶部有一个工具栏,上面有剩余的炸弹数量,但不会移动。如何获取屏幕其余部分的尺寸?

我发现的唯一平移/手势示例是图像,它们取决于图像的大小,而不是屏幕的大小。此外,它们不会移动按钮和标签。

java android android-layout
1个回答
0
投票

您没有显示任何计划如何绘制按钮、工具栏、标签等的代码,因此很难给出更详细的答案。

作为初学者,最有可能生成您想要的内容的是使用 ConstraintLayout 将按钮、工具栏、标签等放置在正确的位置,并使板区域与其他约束相匹配。还要确保此布局不大于屏幕(因此不在任何可滚动布局中)

现在我会阅读 Android 如何绘制它的 UI 指南文档。

从中您应该能够看到,您需要通过扩展这些类之一来创建自定义 View 或 ViewGroup 来处理绘制板(您想要缩放的位)

在该 View/ViewGroup 中,您将重写

onMeasure
方法,其中父 ConstraintLayout 应将视图的大小传递给您的自定义 View/ViewGroup,以便其适合屏幕(如果设置正确)

然后,您可以在绘制视图或传递给 ViewGroups 子视图时使用双倍的测量值。

这意味着您的视图/视图组将部分脱离屏幕,但您的按钮将在视图/视图组上设置一个Matrix,以将其设置为沿您想要的各个方向平移(移动)并缩放(缩放)所需的量使 View/ViewGroup 无效(以使用新的 Matrix 重新绘制它)。

(如果您不太熟悉矩阵数学,您还可以使用各种 setTranslationX、setTranslationY、setScaleX 和 setScaleY)来间接更改 View/ViewGroup 的矩阵)

© www.soinside.com 2019 - 2024. All rights reserved.