Frage

Die App, an der ich arbeite, besteht aus einer großen benutzerdefinierten Ansicht, die den Bildschirm füllt. Ich habe einen Knopf in die Mitte jeder Seite der benutzerdefinierten Ansicht gegeben, mit der das gezogene Objekt in diese Richtung verschoben werden kann. Stellen Sie sich die benutzerdefinierte Ansicht als "Sucher" einer Kamera vor, und ich möchte, dass der Benutzer den Sucher mit Schaltflächen auf allen vier Seiten schwenken kann.

Die Tasten funktionieren perfekt, aber wenn man gedrückt wird, wird die benutzerdefinierte Ansicht darunter viel neu gezogen (4 Neue anstelle von 1), und die UI bleibt ziemlich viel zurück.

Gibt es eine Möglichkeit, die benutzerdefinierte Ansicht aufgrund der Animation einer Knopf zum erneuten Zeichnen zu verhindern?

Vergib mir, wenn mir etwas Offensichtliches fehlt.

Vielen Dank im Voraus für jede Hilfe ... Android Rocks !!!

XML -Layout:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <com.app.CustomView
    android:id="@+id/CustomView" android:layout_above="@+id/menuButton" android:layout_height="fill_parent" android:layout_width="fill_parent"/>
    <Button android:layout_height="wrap_content" android:layout_below="@+id/CustomView" android:layout_width="wrap_content" android:layout_alignRight="@+id/CustomView" android:id="@+id/toolsButton" android:text="Tools" android:textSize="24sp"></Button>
    <Button android:layout_height="wrap_content" android:id="@+id/outButton" android:text="-" android:textSize="30sp" android:layout_toLeftOf="@+id/inButton" android:layout_alignTop="@+id/inButton" android:layout_width="40sp"></Button>
    <Button android:layout_height="wrap_content" android:layout_alignRight="@+id/CustomView" android:layout_alignBottom="@+id/CustomView" android:text="+" android:textSize="30sp" android:id="@+id/inButton" android:layout_width="wrap_content"></Button>
    <Button android:layout_alignTop="@+id/CustomView" android:layout_centerHorizontal="true" android:layout_height="40sp" android:layout_width="60sp" android:text="^" android:id="@+id/upButton"></Button>
    <Button android:layout_alignBottom="@+id/CustomView" android:layout_centerHorizontal="true" android:text="v" android:layout_height="40sp" android:layout_width="60sp" android:id="@+id/downButton"></Button>
    <Button android:layout_alignRight="@+id/CustomView" android:text="&gt;" android:id="@+id/rightButton" android:layout_height="60sp" android:layout_width="40sp" android:layout_centerVertical="true"></Button>
    <Button android:id="@+id/leftButton" android:text="&lt;" android:layout_height="60sp" android:layout_width="40sp" android:layout_centerVertical="true"></Button>
    <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignLeft="@+id/CustomView" android:id="@+id/menuButton" android:textSize="24sp" android:text="Functions" android:layout_alignParentBottom="true"></Button>

</RelativeLayout>
War es hilfreich?

Lösung 2

Ich stellte fest, dass ich meine Berechnungen tatsächlich zu genau machte und meinen armen Droiden zu hart arbeitete. Alles zieht jetzt reibungslos.

Andere Tipps

Warum sind die Schaltflächen Teil der benutzerdefinierten Ansicht? Machen Sie sie nicht zu einem Teil Ihres Aktivitätenlayouts, damit das Layout aus allen Schaltflächen und Ihrer benutzerdefinierten Ansicht besteht?

Dies kann Ihr Problem möglicherweise nicht vollständig lösen, da Sie möglicherweise weiter optimieren/überdenken müssen, wie Ihre benutzerdefinierte Ansicht implementiert wird onDraw Die Methode blockiert den UI -Thread.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top