abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/EmojiGridView.java
diff options
context:
space:
mode:
authorJules Aguillon2022-12-11 16:20:51 +0100
committerJules Aguillon2022-12-11 16:26:50 +0100
commit199ca5cf03f1778d9a41622f4b0ed02912c2a20b (patch)
tree67b12d71826ec7d3f027d81ad37835995d25e6c1 /srcs/juloo.keyboard2/EmojiGridView.java
parent87d21685ca2909a1a08ac22bd8eb2672c3139840 (diff)
downloadunexpected-keyboard-199ca5cf03f1778d9a41622f4b0ed02912c2a20b.tar.gz
unexpected-keyboard-199ca5cf03f1778d9a41622f4b0ed02912c2a20b.zip
Improve emoji pane layout
The measurement function was wrong in some situations. Set a width for columns and properly configure the GridView.
Diffstat (limited to 'srcs/juloo.keyboard2/EmojiGridView.java')
-rw-r--r--srcs/juloo.keyboard2/EmojiGridView.java32
1 files changed, 9 insertions, 23 deletions
diff --git a/srcs/juloo.keyboard2/EmojiGridView.java b/srcs/juloo.keyboard2/EmojiGridView.java
index 7668c55..191f758 100644
--- a/srcs/juloo.keyboard2/EmojiGridView.java
+++ b/srcs/juloo.keyboard2/EmojiGridView.java
@@ -2,9 +2,8 @@ package juloo.keyboard2;
import android.content.Context;
import android.content.SharedPreferences;
-import android.graphics.Typeface;
import android.util.AttributeSet;
-import android.view.Gravity;
+import android.view.ContextThemeWrapper;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
@@ -14,16 +13,14 @@ import android.widget.TextView;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.Set;
import java.util.HashSet;
+import java.util.Set;
public class EmojiGridView extends GridView
implements GridView.OnItemClickListener
{
public static final int GROUP_LAST_USE = -1;
- public static final int COLUMN_WIDTH = 192;
-
private static final String LAST_USE_PREF = "emoji_last_use";
private Emoji[] _emojiArray;
@@ -38,7 +35,6 @@ public class EmojiGridView extends GridView
super(context, attrs);
Emoji.init(context.getResources());
setOnItemClickListener(this);
- setColumnWidth(COLUMN_WIDTH);
loadLastUsed();
setEmojiGroup((_lastUsed.size() == 0) ? 0 : GROUP_LAST_USE);
}
@@ -58,13 +54,6 @@ public class EmojiGridView extends GridView
saveLastUsed(); // TODO: opti
}
- @Override
- public void onMeasure(int wSpec, int hSpec)
- {
- super.onMeasure(wSpec, hSpec);
- setNumColumns(getMeasuredWidth() / COLUMN_WIDTH);
- }
-
private Emoji[] getLastEmojis()
{
final HashMap<Emoji, Integer> map = _lastUsed;
@@ -121,14 +110,11 @@ public class EmojiGridView extends GridView
return getContext().getSharedPreferences("emoji_last_use", Context.MODE_PRIVATE);
}
- private static class EmojiView extends TextView
+ static class EmojiView extends TextView
{
public EmojiView(Context context)
{
super(context);
- setTextAppearance(context, R.style.emojiGridButton);
- setGravity(Gravity.CENTER);
- setLayoutParams(new GridView.LayoutParams(GridView.LayoutParams.WRAP_CONTENT, GridView.LayoutParams.WRAP_CONTENT));
}
public void setEmoji(Emoji emoji)
@@ -137,15 +123,15 @@ public class EmojiGridView extends GridView
}
}
- private static class EmojiViewAdpater extends BaseAdapter
+ static class EmojiViewAdpater extends BaseAdapter
{
- private Context _context;
+ Context _button_context;
- private Emoji[] _emojiArray;
+ Emoji[] _emojiArray;
public EmojiViewAdpater(Context context, Emoji[] emojiArray)
{
- _context = context;
+ _button_context = new ContextThemeWrapper(context, R.style.emojiGridButton);
_emojiArray = emojiArray;
}
@@ -171,9 +157,9 @@ public class EmojiGridView extends GridView
EmojiView view = (EmojiView)convertView;
if (view == null)
- view = new EmojiView(_context);
+ view = new EmojiView(_button_context);
view.setEmoji(_emojiArray[pos]);
- return (view);
+ return view;
}
}
}