我有可以想象的最简单的布局之一:数字键盘。
我想创建一个包含 3 x 4 网格按钮的片段。布局应自动调整数字键盘的大小以填充可用空间。
我了解到,GridLayout 不能胜任这项任务,而 TableLayout/TableRow 或嵌套 LinearLayouts 意味着嵌套权重,出于性能原因也不鼓励这样做。RelativeLayout 也不起作用,因为这需要至少一个具有给定尺寸的按钮。
那么,有没有一种干净的方法来创建一个可以调整大小以填充其父级的常规网格?
任何帮助表示赞赏,谢谢!
我有可以想象的最简单的布局之一:数字键盘。
我想创建一个包含 3 x 4 网格按钮的片段。布局应自动调整数字键盘的大小以填充可用空间。
我了解到,GridLayout 不能胜任这项任务,而 TableLayout/TableRow 或嵌套 LinearLayouts 意味着嵌套权重,出于性能原因也不鼓励这样做。RelativeLayout 也不起作用,因为这需要至少一个具有给定尺寸的按钮。
那么,有没有一种干净的方法来创建一个可以调整大小以填充其父级的常规网格?
任何帮助表示赞赏,谢谢!
您将需要一个自定义复合控件。
检查以下链接:
http://developer.android.com/guide/topics/ui/custom-components.html#compound
使控件填充可用空间。让它有12个按钮。根据它们的位置和可用空间计算它们的大小和位置。
根据您的需要,您可能还需要覆盖上述文档前面“完全自定义组件”部分中定义的 onMeasure() 和 onLayout()。