From 07d1a20f3d9ad98bf2604acfcdab5acdabb2e3cb Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Mon, 31 Dec 2018 02:46:50 +0800 Subject: [PATCH] Improve StringListAdapter --- .../com/topjohnwu/magisk/adapters/StringListAdapter.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/full/java/com/topjohnwu/magisk/adapters/StringListAdapter.java b/app/src/full/java/com/topjohnwu/magisk/adapters/StringListAdapter.java index 4c502477e..0aacad2e8 100644 --- a/app/src/full/java/com/topjohnwu/magisk/adapters/StringListAdapter.java +++ b/app/src/full/java/com/topjohnwu/magisk/adapters/StringListAdapter.java @@ -21,6 +21,7 @@ public abstract class StringListAdapter private boolean dynamic; private int screenWidth; private int txtWidth = -1; + private int padding; protected List mList; @@ -53,16 +54,17 @@ public abstract class StringListAdapter protected void onUpdateTextWidth(VH vh) { if (txtWidth < 0) { - txtWidth = screenWidth; + txtWidth = screenWidth - padding; } else { vh.txt.measure(0, 0); int width = vh.txt.getMeasuredWidth(); if (width > txtWidth) { txtWidth = width; vh.txt.getLayoutParams().width = txtWidth; - rv.requestLayout(); } } + if (rv.getWidth() != txtWidth + padding) + rv.requestLayout(); } @Override @@ -71,6 +73,7 @@ public abstract class StringListAdapter ((Activity) rv.getContext()).getWindowManager() .getDefaultDisplay().getMetrics(displayMetrics); screenWidth = displayMetrics.widthPixels; + padding = rv.getPaddingStart() + rv.getPaddingEnd(); this.rv = rv; }