diff --git a/app/src/main/java/com/chwl/app/avroom/online/RoomOnlineWidget.kt b/app/src/main/java/com/chwl/app/avroom/online/RoomOnlineWidget.kt index 5f829b114..e88633327 100644 --- a/app/src/main/java/com/chwl/app/avroom/online/RoomOnlineWidget.kt +++ b/app/src/main/java/com/chwl/app/avroom/online/RoomOnlineWidget.kt @@ -82,14 +82,24 @@ class RoomOnlineWidget : FrameLayoutRoomWidget, RoomWidget { false ) ) + val isRTL = UiUtils.isRtl(context) binding.recyclerView.outlineProvider = object : ViewOutlineProvider() { override fun getOutline(view: View?, outline: Outline?) { - outline?.setRect( - 0, - 0, - (view?.width ?: 0) - UiUtils.dip2px(9f), - (view?.height ?: 0), - ) + if (isRTL) { + outline?.setRect( + UiUtils.dip2px(9f), + 0, + (view?.width ?: 0), + (view?.height ?: 0), + ) + } else { + outline?.setRect( + 0, + 0, + (view?.width ?: 0) - UiUtils.dip2px(9f), + (view?.height ?: 0), + ) + } } } binding.recyclerView.clipToOutline = true diff --git a/app/src/main/java/com/chwl/app/ui/widget/recyclerview/decoration/VerticalDecoration.java b/app/src/main/java/com/chwl/app/ui/widget/recyclerview/decoration/VerticalDecoration.java index e430441e2..389abcc15 100644 --- a/app/src/main/java/com/chwl/app/ui/widget/recyclerview/decoration/VerticalDecoration.java +++ b/app/src/main/java/com/chwl/app/ui/widget/recyclerview/decoration/VerticalDecoration.java @@ -5,6 +5,8 @@ import android.view.View; import androidx.recyclerview.widget.RecyclerView; +import com.example.lib_utils.UiUtils; + /** * Created by lvzebiao on 2018/9/27. */ @@ -17,6 +19,8 @@ public class VerticalDecoration extends RecyclerView.ItemDecoration { /**如果尾需要则为ture*/ private boolean last; + private Boolean isRTL; + public VerticalDecoration(int px, boolean first, boolean last) { this.px = px; this.first = first; @@ -26,6 +30,9 @@ public class VerticalDecoration extends RecyclerView.ItemDecoration { @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); + if (isRTL == null) { + isRTL = UiUtils.INSTANCE.isRtl(parent.getContext()); + } int position = parent.getChildAdapterPosition(view); int left = 0, right = 0; if (position == 0) { @@ -40,6 +47,10 @@ public class VerticalDecoration extends RecyclerView.ItemDecoration { } else { right = px; } - outRect.set(left, 0, right, 0); + if (isRTL) { + outRect.set(right, 0, left, 0); + } else { + outRect.set(left, 0, right, 0); + } } }