From a477f421cb781554ae119565ff4de21e43eed1e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Mon, 7 Apr 2014 19:35:04 +0200 Subject: [PATCH] Greatly improve app list layout * Don't hard-code ellipsis in the code * Separate the two rows into two linear layouts * Don't abuse relative layouts * Use ellipsize with weights to achieve best results --- res/layout/applistitem.xml | 116 ++++++++++-------- .../fdroid/fdroid/views/AppListAdapter.java | 14 +-- 2 files changed, 67 insertions(+), 63 deletions(-) diff --git a/res/layout/applistitem.xml b/res/layout/applistitem.xml index e0ff94d1d..e93f27d2d 100644 --- a/res/layout/applistitem.xml +++ b/res/layout/applistitem.xml @@ -14,74 +14,86 @@ android:layout_width="56dp" android:layout_height="56dp" android:layout_centerVertical="true" - android:padding="4dp" + android:padding="5dp" android:scaleType="fitCenter" /> - - + android:baselineAligned="false" + > - + + + + + + + android:baselineAligned="false" + > - + - + + + - + + + diff --git a/src/org/fdroid/fdroid/views/AppListAdapter.java b/src/org/fdroid/fdroid/views/AppListAdapter.java index fb9003586..03361fcf0 100644 --- a/src/org/fdroid/fdroid/views/AppListAdapter.java +++ b/src/org/fdroid/fdroid/views/AppListAdapter.java @@ -120,13 +120,6 @@ abstract public class AppListAdapter extends CursorAdapter { } } - private String ellipsize(String input, int maxLength) { - if (input == null || input.length() < maxLength+1) { - return input; - } - return input.substring(0, maxLength) + "…"; - } - private String getVersionInfo(App app) { if (app.suggestedVercode <= 0) { @@ -136,19 +129,18 @@ abstract public class AppListAdapter extends CursorAdapter { PackageInfo installedInfo = app.getInstalledInfo(mContext); if (installedInfo == null) { - return ellipsize(app.getSuggestedVersion(), 12); + return app.getSuggestedVersion(); } String installedVersionString = installedInfo.versionName; int installedVersionCode = installedInfo.versionCode; if (app.canAndWantToUpdate(mContext) && showStatusUpdate()) { - return ellipsize(installedVersionString, 8) + - " → " + ellipsize(app.getSuggestedVersion(), 8); + return installedVersionString + " → " + app.getSuggestedVersion(); } if (installedVersionCode > 0 && showStatusInstalled()) { - return ellipsize(installedVersionString, 12) + " ✔"; + return installedVersionString + " ✔"; } return installedVersionString;