Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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 在相邻布局中均匀间隔视图_Android_Android Layout - Fatal编程技术网

Android 在相邻布局中均匀间隔视图

Android 在相邻布局中均匀间隔视图,android,android-layout,Android,Android Layout,我正在处理一个游戏的控件,需要控制面板的一部分(下图中的灰色部分)进行动态更改,显示单个画布(左)或5个按钮(右)。下一行视图之间的边框应始终位于与上一行按钮之间的边框完全相同的x位置,如图所示。同时,所有12个上部按钮应缩放并均匀分布 我已经考虑过几种方法,但到目前为止,还没有一种方法能完全满足我的要求: 使用两个线性布局,每行一个控件:可靠地对齐边界似乎是不可能的,替换部分布局充其量也很困难 使用TableLayout:同样,替换部分布局是困难的 使用RelativeLayout:独立于

我正在处理一个游戏的控件,需要控制面板的一部分(下图中的灰色部分)进行动态更改,显示单个画布(左)或5个按钮(右)。下一行视图之间的边框应始终位于与上一行按钮之间的边框完全相同的x位置,如图所示。同时,所有12个上部按钮应缩放并均匀分布

我已经考虑过几种方法,但到目前为止,还没有一种方法能完全满足我的要求:

  • 使用两个线性布局,每行一个控件:可靠地对齐边界似乎是不可能的,替换部分布局充其量也很困难
  • 使用TableLayout:同样,替换部分布局是困难的
  • 使用RelativeLayout:独立于屏幕大小调整和对齐按钮似乎是不可能的

有没有关于替代方法的建议,或者关于如何使上述方法之一起作用的建议?如果有一些方法来设置视图更改的动画,例如从画布的左侧滑入按钮,也会很好。谢谢

有意思,我几周前就做过了。我所做的是利用
视图
对象的这个属性:
“可见性”
。因此,这意味着在固定位置,我可以设置任何要显示的
视图
,而不取决于任何类型的
布局
,它可以是
可见性。消失了
可见性。可见
可见性。不可见

在我的应用程序中,我使用
RelativeLayout
将相对位置设置为右侧
TextView

试一试:)

为了解决这个问题:我编写了一个自定义布局类来解决这个问题,该类放置和调整子视图的大小,而不考虑子视图的测量大小。实际上,这为我提供了具有布局权重的线性布局的行为,但对于边界放置更具确定性


ViewAnimator用于在画布和按钮之间切换。

虽然可以使用它来选择显示哪些视图,但我的主要困难是如何正确对齐视图,即顶部的按钮间隔均匀,底部的视图与顶部的按钮对齐。使它们具有相同的大小,
RelativeLayout
将使它们对齐。无论我如何尝试,RelativeLayout都不会缩放按钮以填充整个屏幕宽度(当然,除非我为我的设备指定确切的像素数,一旦屏幕分辨率改变,像素数就会中断),我也无法使最上面一行的按钮与最下面一行的按钮具有相同的高度。有没有关于如何正确缩放的建议?