Autore Topic: Android Custom Keyboard with Buttons o alternative  (Letto 271 volte)

Offline Razor

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nubia Z17 & IQI i4 Smartwatch
  • Sistema operativo:
    Windows10 (Android Studio 3.0), Android (AIDE)
Android Custom Keyboard with Buttons o alternative
« il: 29 Gennaio 2018, 11:40:21 CET »
0
Salve a tutti, è da qualche settimana che guardo su questo forum e anche su altri in lingua inglese ma al momento non ho trovato una soluzione ottimale al problema.
Mi spiego meglio: sto cercando di sviluppare una custom keyboard per smartwatch con un layout ad-hoc, per fare questo sto usando android AIDE unito ad android studio 3.0 per scrivere il codice, attualmente l´SDK progetto è: 21 il minimo è: 1, SDK dispositivo è: 22, il problema che sto riscontrando è al livello del layout, all´inizio ho provato con il semplice <Keyboard> <Row> ma il risultato non aveva molti margini di personalizzazione, cosi ho puntato su un <Gridlayout> <Row> ma anche li non ho trovato il risultato sperato (Forse mea culpa), ora ho creato un layout quasi vicino a quello che cerco; quello che volevo chiedere è c´è un modo migliore per ottenere quello che cerco? come specifico il cambio di vari layout con la pressione di un pulsante?

* posto il layout iniziale e quello finale che si avvicina al risultato che vorrei ottenere (il secondo è un tablelayout con buttons
Codice (XML): [Seleziona]
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
   android:keyWidth="10%p"
   android:horizontalGap="0px"
   android:verticalGap="0px"
   android:keyHeight="50%p"
   >

    <Row>
        <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/>
        <Key android:codes="119" android:keyLabel="w"/>
        <Key android:codes="101" android:keyLabel="e"/>
        <Key android:codes="114" android:keyLabel="r"/>
        <Key android:codes="116" android:keyLabel="t"/>
        <Key android:codes="121" android:keyLabel="y"/>
        <Key android:codes="117" android:keyLabel="u"/>
        <Key android:codes="105" android:keyLabel="i"/>
        <Key android:codes="111" android:keyLabel="o"/>
        <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/>
    </Row>
   
    <Row>
        <Key android:codes="97" android:keyLabel="a" android:horizontalGap="5%p"
               android:keyEdgeFlags="left"/>
        <Key android:codes="115" android:keyLabel="s"/>
        <Key android:codes="100" android:keyLabel="d"/>
        <Key android:codes="102" android:keyLabel="f"/>
        <Key android:codes="103" android:keyLabel="g"/>
        <Key android:codes="104" android:keyLabel="h"/>
        <Key android:codes="106" android:keyLabel="j"/>
        <Key android:codes="107" android:keyLabel="k"/>
        <Key android:codes="108" android:keyLabel="l" android:keyEdgeFlags="right"/>
    </Row>
   
    <Row>
        <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift"
               android:keyWidth="15%p" android:isModifier="true"
               android:isSticky="true" android:keyEdgeFlags="left"/>
        <Key android:codes="122" android:keyLabel="z"/>
        <Key android:codes="120" android:keyLabel="x"/>
        <Key android:codes="99" android:keyLabel="c"/>
        <Key android:codes="118" android:keyLabel="v"/>
        <Key android:codes="98" android:keyLabel="b"/>
        <Key android:codes="110" android:keyLabel="n"/>
        <Key android:codes="109" android:keyLabel="m"/>
        <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete"
               android:keyWidth="15%p" android:keyEdgeFlags="right"
               android:isRepeatable="true"/>
    </Row>
   
    <Row android:rowEdgeFlags="bottom">
        <Key android:codes="-3" android:keyIcon="@drawable/sym_keyboard_done"
               android:keyWidth="15%p" android:keyEdgeFlags="left"/>
        <Key android:codes="-2" android:keyLabel="123" android:keyWidth="10%p"/>
 
        <Key android:codes="-101" android:keyIcon="@drawable/sym_keyboard_language_switch"
               android:keyWidth="10%p"/>
        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
               android:keyWidth="30%p" android:isRepeatable="true"/>
        <Key android:codes="46,44" android:keyLabel=". ,"
               android:keyWidth="15%p"/>
        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
               android:keyWidth="20%p" android:keyEdgeFlags="right"/>
    </Row>
</Keyboard>
   
)
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="245dp"
        android:layout_width="match_parent"
        android:background="#8D8D8D"
        android:layout_gravity="bottom">

        <LinearLayout
                android:layout_width="match_parent"
                android:background="#013B00"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="q"
                        android:id="@+id/qwertyButton1"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="w"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="e"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="r"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="t"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="y"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="u"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="i"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="o"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="p"/>

        </LinearLayout>

        <LinearLayout
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:orientation="horizontal"
                android:layout_marginLeft="18dp"
                android:layout_marginRight="18dp"
                android:background="#013B00">

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="a"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="s"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="d"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="f"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="g"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="h"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="j"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="k"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="l"/>

        </LinearLayout>

        <LinearLayout
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:orientation="horizontal"
                android:background="#013B00"
                android:layout_marginLeft="24dp"
                android:layout_marginRight="24dp">

                <Switch
                        android:layout_height="55dp"
                        android:layout_width="30dp"
                        android:layout_gravity="center"
                        android:rotation="270"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="z"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="x"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="c"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="v"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="b"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="n"/>

                <Button
                        android:layout_height="55dp"
                        android:layout_width="36dp"
                        android:text="m"/>

                <Button
                        android:layout_height="36dp"
                        android:layout_width="30dp"
                        android:text="&lt;"
                        android:layout_gravity="center"/>

        </LinearLayout>

        <LinearLayout
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:orientation="horizontal"
                android:background="#013B00"
                android:layout_marginLeft="41dp"
                android:layout_marginRight="41dp">

                <Button
                        android:layout_height="35dp"
                        android:layout_width="45dp"
                        android:text="SyMb 1/2/3"
                        android:textAppearance="?android:attr/textAppearanceSmall"
                        android:textSize="6sp"
                        android:layout_gravity="bottom"/>

                <Button
                        android:layout_height="45dp"
                        android:layout_width="35dp"
                        android:text=". ,"/>

                <Button
                        android:layout_height="45dp"
                        android:layout_width="123dp"
                        android:text="'-____-'"/>

                <Button
                        android:layout_height="45dp"
                        android:layout_width="75dp"
                        android:text="&lt;-]"/>

        </LinearLayout>

        <LinearLayout
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:orientation="horizontal"
                android:layout_marginLeft="64dp"
                android:layout_marginRight="64dp"
                android:background="#013B00">

                <Button
                        android:layout_height="35dp"
                        android:layout_width="58dp"
                        android:text="&lt;"/>

                <Button
                        android:layout_height="35dp"
                        android:layout_width="58dp"
                        android:text="^"/>

                <Button
                        android:layout_height="35dp"
                        android:layout_width="58dp"
                        android:text="v"
                        android:textSize="8sp"/>

                <Button
                        android:layout_height="35dp"
                        android:layout_width="58dp"
                        android:text="&gt;"/>

        </LinearLayout>

</TableLayout>

Grazie in anticipo a tutti
« Ultima modifica: 29 Gennaio 2018, 11:43:03 CET da Razor, Reason: Upload Screenshot risultato target »