diff options
-rw-r--r-- | res/layout/char_details.xml | 2 | ||||
-rw-r--r-- | res/layout/range_details.xml | 19 | ||||
-rw-r--r-- | src/org/madore/android/unicodeMap/UnicodeCharacter.java | 5 | ||||
-rw-r--r-- | src/org/madore/android/unicodeMap/UnicodeMapActivity.java | 23 |
4 files changed, 42 insertions, 7 deletions
diff --git a/res/layout/char_details.xml b/res/layout/char_details.xml index 57a6b35..1828d2d 100644 --- a/res/layout/char_details.xml +++ b/res/layout/char_details.xml @@ -10,7 +10,7 @@ android:layout_height="wrap_content" android:textSize="20sp" android:textColor="#ff000000" /> - <TextView android:id="@+id/utf8Label" + <TextView android:id="@+id/encodingLabel" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="16sp" diff --git a/res/layout/range_details.xml b/res/layout/range_details.xml new file mode 100644 index 0000000..1d82698 --- /dev/null +++ b/res/layout/range_details.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:padding="10dp" + android:orientation="vertical" + android:background="#f0c4c4e0"> + <TextView android:id="@+id/rangeDescrLabel" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:textSize="20sp" + android:textStyle="bold" + android:textColor="#ff000000" /> + <TextView android:id="@+id/rangeRangeLabel" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:textSize="16sp" + android:textColor="#ff404040" /> +</LinearLayout> diff --git a/src/org/madore/android/unicodeMap/UnicodeCharacter.java b/src/org/madore/android/unicodeMap/UnicodeCharacter.java index 646c696..0805e8c 100644 --- a/src/org/madore/android/unicodeMap/UnicodeCharacter.java +++ b/src/org/madore/android/unicodeMap/UnicodeCharacter.java @@ -284,10 +284,7 @@ public class UnicodeCharacter implements UnicodeDisplayable { protected String makeLabel() { StringBuilder s = new StringBuilder(); Formatter fmt = new Formatter(s); - if ( codePoint < 0x10000 ) - fmt.format("U+%04X %s", codePoint, name); - else - fmt.format("U+%X %s", codePoint, name); + fmt.format("U+%04X %s", codePoint, name); return new String(s); } diff --git a/src/org/madore/android/unicodeMap/UnicodeMapActivity.java b/src/org/madore/android/unicodeMap/UnicodeMapActivity.java index 2d8d61b..1b43d9d 100644 --- a/src/org/madore/android/unicodeMap/UnicodeMapActivity.java +++ b/src/org/madore/android/unicodeMap/UnicodeMapActivity.java @@ -96,12 +96,13 @@ public final class UnicodeMapActivity extends ListActivity { UnicodeCharacter itch = (UnicodeCharacter)it; Dialog dialog = new Dialog(UnicodeMapActivity.this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + dialog.setOwnerActivity(UnicodeMapActivity.this); dialog.setContentView(R.layout.char_details); dialog.setCancelable(true); TextView text; text = (TextView) dialog.findViewById(R.id.detailsLabel); text.setText(itch.getLabel()); - text = (TextView) dialog.findViewById(R.id.utf8Label); + text = (TextView) dialog.findViewById(R.id.encodingLabel); StringBuilder s = new StringBuilder(); Formatter fmt = new Formatter(s); fmt.format("UTF-8:"); @@ -117,7 +118,25 @@ public final class UnicodeMapActivity extends ListActivity { dialog.show(); return true; } else if ( it instanceof UnicodeCharacter.Range ) { - return false; + UnicodeCharacter.Range itr = (UnicodeCharacter.Range)it; + Dialog dialog = new Dialog(UnicodeMapActivity.this); + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + dialog.setOwnerActivity(UnicodeMapActivity.this); + dialog.setContentView(R.layout.range_details); + dialog.setCancelable(true); + TextView text; + text = (TextView) dialog.findViewById(R.id.rangeDescrLabel); + text.setText(itr.getDescr()); + text = (TextView) dialog.findViewById(R.id.rangeRangeLabel); + StringBuilder s = new StringBuilder(); + Formatter fmt = new Formatter(s); + fmt.format("%04X\u2013%04X (%d slots, %d chars)", + itr.getFrom(), itr.getTo()-1, + itr.getTo()-itr.getFrom(), + db.countRange(itr.getFrom(), itr.getTo())); + text.setText(new String(s)); + dialog.show(); + return true; } else throw new AssertionError("unknown UnicodeDisplayable"); } |