2016-05-09 6 views
0

Ich versuche, "Actor" Open Source Messenger-Anwendung für Android zu verwenden, aber es hat einen Fehler beim Anzeigen der Chat-Sprechblasen für RTL-Sprachen. Die für englischen Text und RTL-Sprache angezeigten Sprechblasen werden bereitgestellt: here.Entwerfen einer Chat-Blase für RTL und LTR Gebietsschemas in Android

Ich möchte es wie this, wie es in Boten wie "WhatsApp" ist.

Dies ist die XML-Datei für die Blase Ansicht:

<im.actor.sdk.controllers.conversation.view.BubbleContainer xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/mainContainer" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:clickable="true"> 

<im.actor.sdk.controllers.conversation.view.BubbleTextContainer 
    android:id="@+id/fl_bubble" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:duplicateParentState="true"> 

    <TextView 
     android:id="@+id/tv_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top|left" 
     android:includeFontPadding="false" 
     android:textSize="15sp" /> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|right" 
     android:layout_marginBottom="-4dp" 
     android:layout_marginRight="-4dp" 
     android:baselineAligned="false" 
     android:gravity="center_vertical" 
     android:paddingLeft="4dp"> 

     <TextView 
      android:id="@+id/tv_time" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center_vertical" 
      android:includeFontPadding="false" 
      android:textSize="13sp" /> 

     <im.actor.sdk.view.TintImageView 
      android:id="@+id/stateIcon" 
      android:layout_width="16dp" 
      android:layout_height="9dp" 
      android:layout_marginLeft="2dp" /> 
    </LinearLayout> 

</im.actor.sdk.controllers.conversation.view.BubbleTextContainer> 

Ich versuchte, die „links“ und „rechts“ Schweren Parameter „Start“ zu ändern und „Ende“, aber es didn arbeite nicht.

Wie soll ich diese Layoutdatei ändern?

Antwort

2

Diese Blasenmessungen werden in der Klasse "BubbleTextContainer" durchgeführt. Sie sollten dort einige Änderungen vornehmen. Wenn du den Code siehst, würdest du es verstehen. Um genauer zu sein, gibt es fullContentH und fullContentW Variablen in OnMeasure Methode. Ändern Sie sie dort aufgrund Ihrer Bedürfnisse.

1

Stellen Sie sicher, dass rtlSupport als true für das Anwendungstag in Manifest festgelegt ist.

+0

Noch keine Änderung! :( –

Verwandte Themen