mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-01-21 06:00:33 +01:00
Trick for a better alignment of voice message in the timeline.
This commit is contained in:
parent
0382ae8273
commit
c5b8755bab
@ -43,17 +43,28 @@ abstract class BaseEventItem<H : BaseEventItem.BaseHolder> : VectorEpoxyModel<H>
|
|||||||
@EpoxyAttribute(EpoxyAttribute.Option.DoNotHash)
|
@EpoxyAttribute(EpoxyAttribute.Option.DoNotHash)
|
||||||
lateinit var dimensionConverter: DimensionConverter
|
lateinit var dimensionConverter: DimensionConverter
|
||||||
|
|
||||||
|
protected var ignoreSendStatusVisibility = false
|
||||||
|
|
||||||
@CallSuper
|
@CallSuper
|
||||||
override fun bind(holder: H) {
|
override fun bind(holder: H) {
|
||||||
super.bind(holder)
|
super.bind(holder)
|
||||||
holder.leftGuideline.updateLayoutParams<RelativeLayout.LayoutParams> {
|
holder.leftGuideline.updateLayoutParams<RelativeLayout.LayoutParams> {
|
||||||
this.marginStart = leftGuideline
|
this.marginStart = leftGuideline
|
||||||
}
|
}
|
||||||
|
// Ignore visibility of the send status icon?
|
||||||
|
holder.contentContainer.updateLayoutParams<RelativeLayout.LayoutParams> {
|
||||||
|
if (ignoreSendStatusVisibility) {
|
||||||
|
addRule(RelativeLayout.ALIGN_PARENT_END)
|
||||||
|
} else {
|
||||||
|
removeRule(RelativeLayout.ALIGN_PARENT_END)
|
||||||
|
}
|
||||||
|
}
|
||||||
holder.checkableBackground.isChecked = highlighted
|
holder.checkableBackground.isChecked = highlighted
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract class BaseHolder(@IdRes val stubId: Int) : VectorEpoxyHolder() {
|
abstract class BaseHolder(@IdRes val stubId: Int) : VectorEpoxyHolder() {
|
||||||
val leftGuideline by bind<View>(R.id.messageStartGuideline)
|
val leftGuideline by bind<View>(R.id.messageStartGuideline)
|
||||||
|
val contentContainer by bind<View>(R.id.viewStubContainer)
|
||||||
val checkableBackground by bind<CheckableView>(R.id.messageSelectedBackground)
|
val checkableBackground by bind<CheckableView>(R.id.messageSelectedBackground)
|
||||||
|
|
||||||
override fun bindView(itemView: View) {
|
override fun bindView(itemView: View) {
|
||||||
|
@ -33,6 +33,10 @@ import im.vector.app.features.home.room.detail.timeline.helper.VoiceMessagePlayb
|
|||||||
@EpoxyModelClass(layout = R.layout.item_timeline_event_base)
|
@EpoxyModelClass(layout = R.layout.item_timeline_event_base)
|
||||||
abstract class MessageVoiceItem : AbsMessageItem<MessageVoiceItem.Holder>() {
|
abstract class MessageVoiceItem : AbsMessageItem<MessageVoiceItem.Holder>() {
|
||||||
|
|
||||||
|
init {
|
||||||
|
ignoreSendStatusVisibility = true
|
||||||
|
}
|
||||||
|
|
||||||
@EpoxyAttribute
|
@EpoxyAttribute
|
||||||
var mxcUrl: String = ""
|
var mxcUrl: String = ""
|
||||||
|
|
||||||
|
@ -135,8 +135,8 @@
|
|||||||
<ViewStub
|
<ViewStub
|
||||||
android:id="@+id/messageContentVoiceStub"
|
android:id="@+id/messageContentVoiceStub"
|
||||||
style="@style/TimelineContentStubBaseParams"
|
style="@style/TimelineContentStubBaseParams"
|
||||||
android:layout="@layout/item_timeline_event_voice_stub"
|
|
||||||
android:layout_marginEnd="56dp"
|
android:layout_marginEnd="56dp"
|
||||||
|
android:layout="@layout/item_timeline_event_voice_stub"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
Loading…
Reference in New Issue
Block a user