AndroidIM - Nachrichten Fenster (Sprechblasen) & Button aufm Kopf

  • 14 Antworten
  • Letztes Antwortdatum
S

SyntaxErr

Neues Mitglied
0
Ich habe mir den AndroidIM Source Code runtergeladen und etwas nach meinen Wünschen angepasst.

Ich möchte gerne, dass das Nachrichten Fenster nicht so aussieht:
Mein Name:
Hallo
Freund Name:
Hallo

Sondern mit Sprechblasen.
Wie kann man das mit den Sprechblasen realisieren? Gibt es dazu vielleicht eine Vorlage, Tutorials oder Ähnliches?

Dann möchte ich gerne oben ein Button einfügen, mit verschieden Inhalten. Als Beispiel bei WhatsApp:
Dort gibt es ja oben rechts die Büroklammer, wo man Fotos usw auswählen kann. Ich möchte nicht wissen, wie man nun Fotos usw sendet sondern, wie man dort ein Button einfügt und die Menüitems.

Könnte mir da evtl. jmd. helfen? :biggrin:
 
Da die Sprechblasen ja dynamisch wachsen müssen. Würde ich den Messageverlauf in einen Listview mit Customadapter packen und den jeweiligen Items einen Hintergrund verpassen.

Schau Dir mal die Nutzung von 9-patch-Drawables an

google mal nach

9-patch bubble


Änderung: also dynamisch = Nachricht= 1 Zeilen / 2=Zeilen / x Zeilen
 
Zuletzt bearbeitet:
Der ursprüngliche Beitrag von 12:58 Uhr wurde um 13:35 Uhr ergänzt:

Ich habe es nun getestet. Sobald ich eine Nachricht verschicke, wird die APP angehalten.
XML:
PHP:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/bg1"
    android:orientation="vertical"
    android:padding="10dip" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="392dp"
        android:orientation="vertical" >

        <LinearLayout
            android:id="@+id/wrapper"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/comment1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_margin="5dip"
                android:layout_weight="0.11"
                android:background="@drawable/bubble_grey"
                android:paddingLeft="10dip"
                android:text="Text"
                android:textColor="@android:color/black" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/wrapper"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/comment2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="5dip"
                android:background="@drawable/bubble_blue"
                android:paddingLeft="10dip"
                android:text="Text"
                android:textColor="@android:color/white" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_weight="4"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/message"
            android:layout_width="215dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:gravity="top" >

            <requestFocus />
        </EditText>

        <Button
            android:id="@+id/sendMessageButton"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:text="@string/send" />
    </LinearLayout>

</LinearLayout>
PHP:
public  void appendToMessageHistory(String username, String message) {
        if (username != null && message != null) {
            
            if(friend.userName == username) {        
                //comment_1.append(message);
                View linearLayout =  findViewById(R.id.comment1);
                TextView valueTV = new TextView(this);
                valueTV.setText(message);
                ((LinearLayout) linearLayout).addView(valueTV);
            } else {                        
                //comment_2.append(message);
                View linearLayout =  findViewById(R.id.comment2);
                TextView valueTV = new TextView(this);
                valueTV.setText(message);
                ((LinearLayout) linearLayout).addView(valueTV);
            }
        }
    }
Der Fehler liegt an der appendToMessageHistory Funktion.
Was ist falsch?
 
Zuletzt bearbeitet:
Logcat..

Mein Gott nervst du!

94eb289f247f6e711a9975bed6783d1db4a15af4a9f2b7cd8f1a560a3bfb540a.jpg
 
  • Danke
Reaktionen: DagobertDokate
Deswegen sagte ich ja ListView.

Die Idee mit dem Textview und da nur den Text reinschreiben / adden ist halt nur die simple Lösung.

Die Einträge des IM werden ja bereits in einer SQLite Datenbank gespeichert (hab das eben nur mal überflogen).

Statt dem TextView müsstest du Dir jetzt einen Listview nehmen und einen CustomAdapter schreiben.

Using lists in Android (ListView) - Tutorial


@StefMa:
Nettes Comic.
Bekämpfst du gerade die aufkommende Reinkarnation des Philip O. ??? :)
 
  • Danke
Reaktionen: DagobertDokate
killphil75 schrieb:
@StefMa:
Nettes Comic.
Bekämpfst du gerade die aufkommende Reinkarnation des Philip O. ??? :)
Ich glaube dagegen bin auch ich machtlos xD

Gruß
 
Wie macht man aufm Handy logCat?
 
Spracheingabe. Einfach laut und deutlich sprechen:"BITTE GIBT MIR EIN LOGCAT UND SPEICHERE ES UNTER SlashEsDeCardSlashLogCat"
 
Wie bist du eigentlich auf dieses Board aufmerksam geworden, wenn du nicht mal 1 Wort bei google eintippen kannst?

:scared:
 
DagobertDokate schrieb:
Wie bist du eigentlich auf dieses Board aufmerksam geworden, wenn du nicht mal 1 Wort bei google eintippen kannst?

:scared:
Ich habe einfach "Android Forum" geschrieben. :tongue:
 
The time when you realize that you don't understand the "go away"-message

double-facepalm.jpg
 
Naja das wird aber etwas fies hier. Er soll halt ein bisschen in Tutorials und bei developer.android.com stöbern, und wenn er weiß wie LogCat funktioniert wieder hier Fragen stellen. "go away" ist nicht in Ordnung.
 
Lass es eine APP zu entwickeln, wenn du zu bl*d bist um unten auf dein Eclipse-Fenster zu schauen...
 
Was geht denn hier ab?
Ihr habt vermutlich von Anfang an die Weisheit mit Löffeln gefressen.

Entweder helfe ich jemanden oder wenn mir die Frage zu blöd ist, lass ich das kommentieren einfach sein.

@SyntaxErr
Wenn du wirklich hilfe brauchst, dann brauchen wir die LogCat ausgabe, wie du die angezeigt bekommst verrät dir Google.
Ein bisschen eigeninitiative für die Grundlagen muss schon sein, bei deinen spezifischen Problem können wir dir dann helfen.
 
@amfa:
Code:
Ihr habt vermutlich von Anfang an die Weisheit mit Löffeln gefressen.
Selsbtverständlich nicht. Man kann meine Anfänge mit der Entwicklung hier im Forum ganz gut nachvollziehen. Allerdings ist es vollkommen Sinnfrei, wenn man Anfänger ist, einen Quelltext eines besteheneden Messangers runterzuladen und diesen nach eigenen Wünschen anzupassen. Er hat wirklich null Ahnung vom ganzen Programieren und macht es einfach. Dann fragt er "wie geht es". Er editiert seinen 2 Post 6x!!! Ich habe jeden einzelnen gelesen. Der 5te war "Gleich berichte ich".... Ja super!
 
Zurück
Oben Unten