カスタムキーボードレイアウトを作成しています。SDKでは(ThickButtonsのように)行内のキーの幅を変更できますが、理想的には、行内のキーの高さと幅の両方を変更できるようにしたい(そして、キーが使用可能なすべてのスペースを占めるようにしたい)。 )。
これを見る別の方法は、いくつかのキーが複数の連続した行にあることを許可したいということです。どんなアイデアでも役に立ちます。ありがとうございました。
カスタムキーボードレイアウトを作成しています。SDKでは(ThickButtonsのように)行内のキーの幅を変更できますが、理想的には、行内のキーの高さと幅の両方を変更できるようにしたい(そして、キーが使用可能なすべてのスペースを占めるようにしたい)。 )。
これを見る別の方法は、いくつかのキーが複数の連続した行にあることを許可したいということです。どんなアイデアでも役に立ちます。ありがとうございました。
すべてのキーの「幅」と「高さ」は、最小のキーの幅/高さの倍数になりますか? その場合、必要に応じて水平方向と垂直方向のLinearLayoutsをネストしてキーボードを記述し、layout_weight を使用して幅 2 倍または高さ 2 倍のキーを作成できます。
たとえば、ワークステーションのキーパッドを見ると、基本的には 5x4 グリッドのキーで、一番右の列に 2 倍の高さの「+」と「Enter」キーがあり、一番下の列に 2 倍の幅の 0 があります。 -左の位置 (かなり標準的な構成です。この説明で自分の構成を参照してください)。0 {numlock,7,4,1} および {/,8,5,2} の「上」にある各列の垂直線形レイアウトを作成できます。次に、これらを水平の線形レイアウトに配置して、8 つのキーすべてをグループ化できます。このアセンブリは、別の垂直レイアウトの「0」ボタンと組み合わせることができます。重みは、8 キー アセンブリに「4」、0 キーに「1」です。この 9 つのキーの完全なアセンブリをアセンブリ A と呼びましょう。これで、{*,9,6,3} と {-,+,enter} の垂直線形レイアウトを作成できます。これらのうちの2番目では、+ と Enter キーのそれぞれに 2 の重みを付けます。最後に、水平線形レイアウトを使用して、アセンブリ A を他の 2 つの垂直レイアウトのそれぞれとグループ化します。