Android "Taschenrechner"

  • Antworten:4
  • Bentwortet
Peter Pottwahl
  • Forum-Beiträge: 32

30.04.2014, 16:17:57 via Website

Hallo!
Hab mal wieder ein Problem mit Android :)
Und zwar:

Ich versuche schon seit längerem ein relativ passabeles Design für einen Android Taschenrechner zu entwickeln, bei
dem die Tastatur am unterem Bildschirmrand "festklebt".
Das bekomme ich auch einigermaßen hin - einfach n paar buttons an den unteren Rand angeheftet, nur leider viel mir auf,
dass diese Buttons nicht "fixiert sind" d.h dass die App bei einer anderen Bildschirmgrösse nicht mehr wiederzuerkennen ist.

Meine Frage ist nun Wie kriege ich eine "normale" Taschenrechner Tastatur gebastelt, die auch auf unterschiedliche
Bildschirmgrössen eingeht.

Gruß
Peter :)

Antworten
impjor
  • Forum-Beiträge: 1.793

30.04.2014, 16:48:03 via App

Du könntest in einem RelativeLayout ein GridLayout einfügen, welches mittels alignParentBottom am Boden "klebt". Im GridLayout dann die Tascherechner-Tastatur.

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Peter Pottwahl
  • Forum-Beiträge: 32

01.05.2014, 18:38:46 via Website

Hallo!
Danke für deine Antwort.
Habe es nach deinem Vorschlag versucht, allerdings so stehts zumindest bei Android braucht man für einen GridView mindestens API 14,
was mein altes Handy noch nicht besitzt, deswegen würde diese App auf meinem Gerät nicht funktionieren-woraufhin die App relativ sinnlos wäre :-).
Deswegen habe ich mir mit einem RelativeLayout geholfen, wo ich die Buttons jeweils in Table Rows eingefügt habe.
Dies hat schon mal den Vorteil, dass die Tastatur sich nicht mehr verändert, allerdings müsste ich es noch schaffen, dass die Tastatur ihren Abstand
zu den Rändern und dem Bottom des Screens nicht verändert.

Das habe ich bis jetzt:

<RelativeLayout 

// hier die Standard Elemente - konnte ich leider wegen "Spam Schutz" nicht drinlassen :-)
>

<TableRow
    android:id="@+id/tableRow2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/tableRow1"
    android:layout_centerVertical="true"
    android:layout_below="@+id/tableRow1"
    android:layout_alignParentRight="true"
    android:layout_alignParentLeft="true"

    android:layout_marginTop="4dp" >

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="6" />

    <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="5" />

    <Button
        android:id="@+id/button6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="4" />

</TableRow>

<TableRow
    android:id="@+id/tableRow3"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_alignLeft="@+id/tableRow2"
    android:layout_below="@+id/tableRow2"
    android:layout_alignParentRight="true"
    android:layout_alignParentLeft="true"

    android:layout_marginTop="4dp" >

    <Button
        android:id="@+id/button7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="3" />

    <Button
        android:id="@+id/button8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="2" />

    <Button
        android:id="@+id/button9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="1" />

</TableRow>

<TableRow
    android:id="@+id/tableRow4"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="false"
    android:layout_alignParentBottom="true"
    android:layout_alignLeft="@+id/tableRow3"
    android:layout_below="@+id/tableRow3"
    android:layout_marginTop="4dp" >

    <Button
        android:id="@+id/button10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="0" />

    <Button
        android:id="@+id/button11"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="." />

    <Button
        android:id="@+id/button12"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="C" />

</TableRow>

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="120dp" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="9" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="8" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="7" />
</TableRow>

</RelativeLayout>

Nun ist meine Frage:
Wie schafffe ich es,dass der Abstand zu den Rändern/Boden immer gleich bleibt.

Danke schonmal

Peter

Antworten
impjor
  • Forum-Beiträge: 1.793

01.05.2014, 22:32:05 via App

Da du kein TableLayout benutzt, verhält sich die TableRow wie ein stink normales LinearLayout.
Du kannst aber das letzte TableRow mit align_parentBottom am Boden fixieren.
Was meinst du mit gleichen Abständen? Wenn die Buttons die Zeile nicht ausfüllen setzte ihre weight auf 1.

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Peter Pottwahl

Antworten
Peter Pottwahl
  • Forum-Beiträge: 32

02.05.2014, 16:31:51 via Website

Danke das wars :-)

Gruß
Peter

Antworten