创建类似于微信或QQ聊天视图的Android库:ChatMessageView
jopen
9年前
ChatMessageView能够帮助你快速创建聊天视图,类似于在微信或QQ聊天看到的。它是一个容器视图,所以你添加任何类型的消息如TextView或任何自定义的TextView, ImageView等。
特性
- Can have any child inside of it.
- You can change color ofChatMessageViewnormal and pressed.
- Adjustable arrow position (top, bottom, left, right)
- Adjustable arrow gravity (start, end, center)
- Chat view without arrow
Sample Screen
Installation
add gradle dependency to your dependency list:
dependencies { compile 'me.himanshusoni.chatmessageview:chat-message-view:1.0.2' }
Use
- IncludeChatMessageViewin your xml of adapter view with content inside.
<me.himanshusoni.chatmessageview.ChatMessageView xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" app:cmv_backgroundColor="#88BABABA" app:cmv_backgroundColorPressed="#FFBABABA" app:cmv_cornerRadius="3dp" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello" /> <!-- ... --> </me.himanshusoni.chatmessageview.ChatMessageView>
Customization
Attributes:
app:cmv_arrowGravity="start|end|center" app:cmv_arrowPosition="right|left|top|bottom" app:cmv_arrowMargin="3dp" app:cmv_contentPadding="10dp" app:cmv_backgroundColor="#88BABABA" app:cmv_backgroundColorPressed="#FFBABABA" app:cmv_cornerRadius="3dp" app:cmv_showArrow="true|false"
Description:
- cmv_arrowGravitycontrols relative position of arrow. possible values arestart,endandcenter. default isleft.
- cmv_arrowPositioncontrols poition of the arrow outside the box. possible values areright,left,topandbottom. default isleft.
- cmv_arrowMargincontrols margin of arrow. Ifcmv_arrowPositionisleftorrightit controls top and bottom margin. else it controls left and right margin.
- cmv_contentPaddingadjusts padding of content within the box.
- cmv_backgroundColorsets background color ofChatMessageViewin normal mode including arrow.
- cmv_backgroundColorPressedsets background color ofChatMessageViewin pressed mode including arrow.
- cmv_cornerRadiussets corner radius of the box.
- cmv_showArrowshows / hides arrow fromChatMessageView.