android - Bubble Chat layout -
i have layout
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/background" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:background="@drawable/chat_bg"> <imageview android:id="@+id/avatar" android:layout_width="32dip" android:layout_height="32dip" android:layout_marginright="4dip" android:src="@drawable/avatar_1_1" /> <textview android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5sp" /> </linearlayout> and in java code have :
layoutparams lp1 = (layoutparams) textview.getlayoutparams(); layoutparams lp2 = (layoutparams) avatarview.getlayoutparams(); if (incoming) { lp1.gravity = gravity.left; lp2.gravity = gravity.left; textview.setbackgroundresource(r.drawable.speech_bubble_green); textview.setlayoutparams(lp1); avatarview.setlayoutparams(lp2); } else { lp1.gravity = gravity.right; lp2.gravity = gravity.right; textview.setbackgroundresource(r.drawable.speech_bubble_orange); textview.setlayoutparams(lp1); avatarview.setlayoutparams(lp2); } i want incomming message , avatar align right viber, outgoing on left, message align left
thanks suggestions
solution here
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/background" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingright="4dip" android:paddingbottom="4dip" android:background="@drawable/chat_bg"> <imageview android:id="@+id/avatar" android:layout_width="32dip" android:layout_height="32dip" android:layout_marginleft="4dip" android:src="@drawable/avatar_1_1" /> <textview android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_torightof="@id/avatar" android:paddingleft="4dip" /> and here java code :
relativelayout bg = (relativelayout)view.findviewbyid(r.id.background); if (incoming) { textview.setbackgroundresource(r.drawable.speech_bubble_orange); bg.setgravity(gravity.left); } else { textview.setbackgroundresource(r.drawable.speech_bubble_green); layoutparams avatarparams = (layoutparams) avatarview.getlayoutparams(); avatarparams.addrule(relativelayout.align_parent_right); avatarview.setlayoutparams(avatarparams); /*android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_torightof="@id/avatar" android:paddingleft="4dip"*/ layoutparams tvparam = (layoutparams) textview.getlayoutparams(); tvparam.removerule(relativelayout.right_of); tvparam.addrule(relativelayout.left_of, r.id.avatar); textview.setlayoutparams(tvparam); bg.setgravity(gravity.right); }
Comments
Post a Comment