如何改变一行中某些键的高度?

时间:2010-04-30 15:04:35

标签: android android-keypad

我正在创建自定义键盘布局。 SDK允许更改一行中的键的宽度(如在ThickButtons中),但理想情况下,我希望能够改变一行中键的高度和宽度(并且仍然使键占据所有可用空间。 )

另一种看待这种情况的方法是,我希望允许某些键位于多个连续的行中。任何想法都会有帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

所有关键“宽度”和“高度”都是最小键宽/高度的倍数吗?如果是这样,您可以根据需要嵌套水平和垂直LinearLayouts来描述键盘,使用layout_weight来制作双宽或双高键。

例如,如果我查看我的工作站的键盘,它基本上是一个5x4网格键,在最右边的列中有一个双高的“+”和“enter”键,以及一个双倍宽的0在左下角位置(相当标准的配置,请参阅此说明中的您自己的配置)。我可以为“0 {numlock,7,4,1}和{/,8,5,2}之上的每一列做垂直线性布局。接下来可以将这些放入水平线性布局中以对所有8个键进行分组。该组件可以与另一个垂直布局中的“0”按钮组合,8键组件的重量为“4”,0键的重量为“1”。让我们称之为9键组件A的完整组件。现在,您可以为{*,9,6,3}和{ - ,+,enter}制作垂直线性布局。在第二个中,给每个+和输入键赋予2的权重。最后使用水平线性布局将组件A与其他2个垂直布局分组。