diff --git a/Habitica/res/layout/activity_full_profile.xml b/Habitica/res/layout/activity_full_profile.xml
index 512b81816..ea4f17614 100644
--- a/Habitica/res/layout/activity_full_profile.xml
+++ b/Habitica/res/layout/activity_full_profile.xml
@@ -377,11 +377,13 @@
android:layout_height="wrap_content"
android:indeterminate="true" />
-
+ android:layout_height="match_parent"
+ android:scrollbarSize="3dp"
+ android:scrollbarThumbVertical="@color/md_grey_500"
+ android:scrollbars="vertical" />
diff --git a/Habitica/res/layout/dialog_achievement_details.xml b/Habitica/res/layout/dialog_achievement_details.xml
new file mode 100644
index 000000000..a10015933
--- /dev/null
+++ b/Habitica/res/layout/dialog_achievement_details.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/layout/profile_achievement_category.xml b/Habitica/res/layout/profile_achievement_category.xml
new file mode 100644
index 000000000..98e903996
--- /dev/null
+++ b/Habitica/res/layout/profile_achievement_category.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/layout/profile_achievement_group.xml b/Habitica/res/layout/profile_achievement_group.xml
deleted file mode 100644
index 9f047d16a..000000000
--- a/Habitica/res/layout/profile_achievement_group.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Habitica/res/layout/profile_achievement_item.xml b/Habitica/res/layout/profile_achievement_item.xml
index 4b4b5ee31..41ea9860b 100644
--- a/Habitica/res/layout/profile_achievement_item.xml
+++ b/Habitica/res/layout/profile_achievement_item.xml
@@ -1,24 +1,25 @@
-
+ android:layout_gravity="center_horizontal" />
+ android:layout_gravity="center_horizontal"
+ android:gravity="center" />
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/FullProfileActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/FullProfileActivity.java
index 5add0ed56..e4ee634fe 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/FullProfileActivity.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/FullProfileActivity.java
@@ -7,6 +7,8 @@ import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.CardView;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -38,6 +40,8 @@ import com.habitrpg.android.habitica.ui.adapter.social.AchievementAdapter;
import com.habitrpg.android.habitica.ui.helpers.MarkdownParser;
import com.habitrpg.android.habitica.ui.helpers.UiUtils;
import com.magicmicky.habitrpgwrapper.lib.models.Achievement;
+import com.magicmicky.habitrpgwrapper.lib.models.AchievementGroup;
+import com.magicmicky.habitrpgwrapper.lib.models.AchievementResult;
import com.magicmicky.habitrpgwrapper.lib.models.Buffs;
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
import com.magicmicky.habitrpgwrapper.lib.models.Outfit;
@@ -127,8 +131,8 @@ public class FullProfileActivity extends BaseActivity {
@BindView(R.id.avatar_achievements_progress)
ProgressBar achievementProgress;
- @BindView(R.id.achievement_groupList)
- LinearLayout achievementGroupList;
+ @BindView(R.id.recyclerView)
+ RecyclerView achievementGroupList;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -257,47 +261,42 @@ public class FullProfileActivity extends BaseActivity {
});
}
+ private void fillAchievements(AchievementResult achievements) {
+ List