2017-02-08 4 views
0

私はリニアレイアウトを画面の右側に揃えたいと思いますが、これを正しく行うことはできません。リニアレイアウトを右チャットメッセージの効果に合わせる方法

私はここに示したのと同じ効果を持つようにしたい:https://monosnap.com/file/ZXsqPJ71d61IHfK3JOyKjcMMZk2uWc#

私はそれを右に整列されるように作る、何かを変更する必要はありません。 また、メッセージエフェクトのテキストのラップコンテンツ(送信者の名前と日付の送信ではありません)を持たせたいので、テキストが長い場合は左側に拡張できます。ここで

は私が右になりたい項目のレイアウトコードです:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:orientation="vertical" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/single_message_view"> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_weight="1" 
      android:layout_height="wrap_content" 
      android:text="author" 
      android:id="@+id/sender_data" 
      android:layout_marginEnd="5dp" 
      android:textColor="@color/colorWhite" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_weight="1" 
      android:textAlignment="textEnd" 
      android:layout_height="wrap_content" 
      android:text="date" 
      android:textColor="@color/colorWhite" 
      android:id="@+id/send_date" /> 

    </LinearLayout> 

<LinearLayout 
    android:layout_marginEnd="15dp" 
    android:layout_marginStart="15dp" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:minWidth="100dp" 
    android:orientation="vertical"> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:id="@+id/message_content" 
     android:background="@drawable/msg_haze" 
     > 

     <TextView 
      android:layout_margin="10dp" 
      android:layout_alignParentTop="true" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:textColor="@color/colorWhite" 
      android:id="@+id/message_text" 
      android:text="content" /> 

     <LinearLayout 
      android:layout_margin="10dp" 
      android:minWidth="100dp" 
      android:layout_below="@id/message_text" 
      android:id="@+id/tags_container" 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <android.support.v7.widget.RecyclerView 
       android:layout_marginTop="5dp" 
       android:layout_marginBottom="5dp" 
       android:id="@+id/message_tags" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       app:layoutManager="LinearLayoutManager" 
       tools:listitem="@layout/item_tag" /> 
     </LinearLayout> 

     <ImageView 
      android:layout_marginBottom="10dp" 
      android:layout_marginEnd="10dp" 
      android:paddingBottom="10dp" 
      android:layout_alignParentEnd="true" 
      android:layout_alignParentBottom="true" 
      android:layout_width="15dp" 
      android:layout_height="15dp" 
      android:id="@+id/message_state" /> 

     <LinearLayout 
      android:id="@+id/attachment_holder" 
      android:layout_marginTop="10dp" 
      android:padding="5dp" 
      android:visibility="gone" 
      android:orientation="vertical" 
      android:layout_alignParentBottom="true" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/attachments_haze"> 

      <android.support.v7.widget.RecyclerView 
       android:id="@+id/attachments" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       app:layoutManager="GridLayoutManager"/> 

      <ImageView 
       android:id="@+id/attachment" 
       android:visibility="gone" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" /> 
     </LinearLayout> 

    </RelativeLayout> 
</LinearLayout> 

答えて

0

あなたの質問は少し混乱ですが、これはあなたを助けるかもしれません。その上で使用ビューの内容の重力を設定します重力:

あなたは要素

  • アンドロイドを整列するために使用できる2つの属性が彼らのです。

  • android:layout_gravityは、親の中にビューまたはレイアウトの重力を設定します。

また、例はhereです。