2016-07-05 22 views
3

Ich versuche, eine einfache Chat-Anwendung für Android (mit dem Native SDK) zu bauen, und ich habe einige Probleme bei der Strukturierung eines schönen Layouts für die Benutzeroberfläche, speziell für die EditText und TextView-Elemente. Ich möchte so etwas wie die WhatsApp App für Android erstellen:Wie erstelle ich eine WhatsApp wie TextView und EditText?

enter image description here

Das Ziel ist es, eine Form mit diesen spitzen Kanten in beiden Elementen zu erstellen. Ich habe einige Nachforschungen angestellt und herausgefunden, dass ich eine Ressourcendatei mit dem Shape-Tag strukturieren und zum Attribut android:background hinzufügen muss. Aber ich kann einfach nicht herausfinden, wie ich diese spitzen Kanten wie im Bild erstellen soll. Jede Hilfe wird geschätzt!

+1

ich denke, es wäre ziemlich kompliziert sein (wenn möglich) dies als eine Form zu tun. Es wäre viel einfacher, diesen Hintergrund als [9-Patch-PNG] zu erstellen (https://developer.android.com/guide/topics/resources/drawable-resource.html#NinePatch). –

+1

Sie könnten dies manuell als eine benutzerdefinierte 'Drawable' zeichnen, aber es wäre wahrscheinlich viel einfacher, jemanden als Hintergrundbild (in Photoshop oder was auch immer) zu modellieren, das Sie dann einfach als Hintergrund für den EditText setzen können. – NoChinDeluxe

+1

9-Patch tun den Trick, erstellen Sie Bild in Illustrator oder einem anderen Bildbearbeitungsprogramm mit Rändern und Ecke rechts oben, wie Sie wollen, und erstellen Sie eine 9-Patch mit Android Studio – Adonys

Antwort

0
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

<ListView 
    android:background="#f1f1f1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
</ListView> 

    <LinearLayout 
     android:padding="10dp" 
     android:gravity="center" 
     android:weightSum="1" 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true"> 

     <EditText 
      android:paddingBottom="3dp" 
      android:layout_marginRight="10dp" 
      android:layout_weight=".70" 
      android:layout_width="match_parent" 
      android:layout_height="45dp" 
      android:background="@drawable/lgbg" 
      android:hint="Add item" /> 

     <ImageView 
      android:layout_gravity="center" 
      android:foregroundGravity="center" 
      android:padding="13dp" 
      android:background="@drawable/send" 
      android:layout_weight=".30" 
      android:layout_width="70dp" 
      android:layout_height="50dp" 
      android:src="@drawable/ic_send_white" /> 

    </LinearLayout> 

+0

Während dies die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort und möglicherweise das Problem mit dem OP-Code zu erklären. – pirho

Verwandte Themen