diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 19724ae53..0cd18f215 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -249,6 +249,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick mGroupAdapter.setItems(items, null); setPosition(LiveConfig.get().find(items)); mBinding.control.home.setText(home.getName()); + mBinding.group.getLayoutParams().width = home.getWidth(); } private void setPosition(int[] position) { diff --git a/app/src/leanback/res/layout/activity_live.xml b/app/src/leanback/res/layout/activity_live.xml index c567a517b..43b1d7e93 100644 --- a/app/src/leanback/res/layout/activity_live.xml +++ b/app/src/leanback/res/layout/activity_live.xml @@ -59,7 +59,8 @@ android:layout_height="match_parent" android:background="@drawable/shape_live_list" android:orientation="horizontal" - android:visibility="gone"> + android:visibility="gone" + tools:visibility="visible"> 0) return true; + return false; + } + + public int getWidth() { + int width = 0; + for (Group group : getGroups()) width = Math.max(width, ResUtil.getTextWidth(group.getName(), 16) + ResUtil.dp2px(60)); + if (hasLogo()) width += ResUtil.dp2px(48); + return width; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; diff --git a/app/src/main/java/com/fongmi/android/tv/utils/ResUtil.java b/app/src/main/java/com/fongmi/android/tv/utils/ResUtil.java index c792aaefe..7b3a5590b 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/ResUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/ResUtil.java @@ -4,6 +4,7 @@ import android.app.Activity; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; +import android.graphics.Paint; import android.graphics.Point; import android.graphics.drawable.Drawable; import android.os.Build; @@ -129,4 +130,10 @@ public class ResUtil { public static Display getDisplay(Activity activity) { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.R ? activity.getDisplay() : activity.getWindowManager().getDefaultDisplay(); } + + public static int getTextWidth(String content, int textSize) { + Paint paint = new Paint(); + paint.setTextSize(sp2px(textSize)); + return (int) paint.measureText(content); + } } diff --git a/app/src/mobile/res/layout/activity_live.xml b/app/src/mobile/res/layout/activity_live.xml index 0321c3e25..38efdae53 100644 --- a/app/src/mobile/res/layout/activity_live.xml +++ b/app/src/mobile/res/layout/activity_live.xml @@ -62,14 +62,11 @@ @@ -81,14 +78,12 @@ diff --git a/app/src/mobile/res/layout/adapter_channel.xml b/app/src/mobile/res/layout/adapter_channel.xml index 208cf519d..a3c4c6eb2 100644 --- a/app/src/mobile/res/layout/adapter_channel.xml +++ b/app/src/mobile/res/layout/adapter_channel.xml @@ -3,15 +3,15 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="4dp" - android:layout_marginBottom="4dp" + android:layout_marginTop="6dp" + android:layout_marginBottom="6dp" android:background="@drawable/shape_channel" android:gravity="center" android:orientation="horizontal" android:paddingStart="12dp" - android:paddingTop="8dp" + android:paddingTop="6dp" android:paddingEnd="12dp" - android:paddingBottom="8dp"> + android:paddingBottom="6dp"> + android:paddingBottom="6dp">