]> gitweb.fperrin.net Git - Dictionary.git/commitdiff
Switching to HtmlDisplayActivity.
authorthadh <thadh@192.168.2.6>
Tue, 31 Jul 2012 15:39:18 +0000 (08:39 -0700)
committerthadh <thadh@192.168.2.6>
Tue, 31 Jul 2012 15:39:18 +0000 (08:39 -0700)
res/layout/html_display_activity.xml [moved from res/layout/help_activity.xml with 100% similarity]
src/com/hughes/android/dictionary/DictionaryActivity.java
src/com/hughes/android/dictionary/HtmlDisplayActivity.java
src/com/hughes/android/dictionary/engine/HtmlEntry.java

index f526cb9eebbd46b0d09cde37c042a8459b441a28..84238e9f3fafd110eb5a83c7ca7bf7f590490555 100644 (file)
@@ -64,8 +64,10 @@ import android.view.View;
 import android.view.View.OnClickListener;\r
 import android.view.View.OnLongClickListener;\r
 import android.view.ViewGroup;\r
+import android.view.ViewGroup.LayoutParams;\r
 import android.view.WindowManager;\r
 import android.view.inputmethod.InputMethodManager;\r
+import android.webkit.WebView;\r
 import android.widget.AdapterView;\r
 import android.widget.AdapterView.AdapterContextMenuInfo;\r
 import android.widget.BaseAdapter;\r
@@ -83,6 +85,7 @@ import android.widget.Toast;
 import com.hughes.android.dictionary.DictionaryInfo.IndexInfo;\r
 import com.hughes.android.dictionary.engine.Dictionary;\r
 import com.hughes.android.dictionary.engine.EntrySource;\r
+import com.hughes.android.dictionary.engine.HtmlEntry;\r
 import com.hughes.android.dictionary.engine.Index;\r
 import com.hughes.android.dictionary.engine.Index.IndexEntry;\r
 import com.hughes.android.dictionary.engine.PairEntry;\r
@@ -929,6 +932,9 @@ public class DictionaryActivity extends ListActivity {
   // --------------------------------------------------------------------------\r
   // IndexAdapter\r
   // --------------------------------------------------------------------------\r
+  \r
+  static ViewGroup.LayoutParams WEIGHT_1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.FILL_PARENT, 1.0f);\r
+  static ViewGroup.LayoutParams WEIGHT_0 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.FILL_PARENT, 0.0f);\r
 \r
   final class IndexAdapter extends BaseAdapter {\r
     \r
@@ -977,6 +983,8 @@ public class DictionaryActivity extends ListActivity {
         return getView(position, (PairEntry.Row) row, parent, result);\r
       } else if (row instanceof TokenRow) {\r
         return getView((TokenRow) row, parent, result);\r
+      } else if (row instanceof HtmlEntry.Row) {\r
+        return getView((HtmlEntry.Row) row, parent, result);\r
       } else {\r
         throw new IllegalArgumentException("Unsupported Row type: " + row.getClass());\r
       }\r
@@ -1071,7 +1079,39 @@ public class DictionaryActivity extends ListActivity {
 \r
       return result;\r
     }\r
+    \r
 \r
+    private TableLayout getView(HtmlEntry.Row row, ViewGroup parent, final TableLayout result) {\r
+      final Context context = parent.getContext();\r
+      \r
+      final HtmlEntry htmlEntry = row.getEntry();\r
+      \r
+      //final TableRow tableRow = new TableRow(context);\r
+      final LinearLayout tableRow = new LinearLayout(context);\r
+      result.addView(tableRow);\r
+      \r
+      // Text.\r
+      final TextView textView = new TextView(context);\r
+      textView.setText(htmlEntry.title);\r
+      textView.setLayoutParams(new LinearLayout.LayoutParams(0, ViewGroup.LayoutParams.WRAP_CONTENT, 1.0f));\r
+      tableRow.addView(textView);\r
+      \r
+      // Button.\r
+      final Button button = new Button(context);\r
+      button.setText("open");\r
+      button.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, 0.0f));\r
+      tableRow.addView(button);\r
+      \r
+      button.setOnClickListener(new OnClickListener() {\r
+        @Override\r
+        public void onClick(View v) {\r
+          startActivity(HtmlDisplayActivity.getHtmlIntent(String.format("<html><head></head><body>%s</body></html>", htmlEntry.html)));\r
+        }\r
+      });\r
+      \r
+      return result;\r
+    }\r
+    \r
     private TableLayout getView(TokenRow row, ViewGroup parent, final TableLayout result) {\r
       final Context context = parent.getContext();\r
       final TextView textView = new TextView(context);\r
index 265f470443193961177a6348dc09f9c77db45d28..24e0a6e20274154dd8ca32c62dfd48693860f443 100644 (file)
@@ -27,6 +27,7 @@ import com.hughes.util.StringUtil;
 public final class HtmlDisplayActivity extends Activity {\r
   \r
   static final String HTML_RES = "html_res";\r
+  static final String HTML = "html";\r
   \r
   public static Intent getHelpLaunchIntent() {\r
     final Intent intent = new Intent();\r
@@ -42,15 +43,28 @@ public final class HtmlDisplayActivity extends Activity {
     return intent;\r
   }\r
 \r
+  public static Intent getHtmlIntent(final String html) {\r
+    final Intent intent = new Intent();\r
+    intent.setClassName(HtmlDisplayActivity.class.getPackage().getName(), HtmlDisplayActivity.class.getName());\r
+    intent.putExtra(HTML, html);\r
+    return intent;\r
+  }\r
+\r
   /** Called when the activity is first created. */\r
   @Override\r
   public void onCreate(final Bundle savedInstanceState) {\r
     setTheme(((DictionaryApplication)getApplication()).getSelectedTheme().themeId);\r
 \r
     super.onCreate(savedInstanceState);\r
-    setContentView(R.layout.help_activity);\r
+    setContentView(R.layout.html_display_activity);\r
+    \r
     final int htmlRes = getIntent().getIntExtra(HTML_RES, -1);\r
-    final String html = StringUtil.readToString(getResources().openRawResource(htmlRes));\r
+    final String html;\r
+    if (htmlRes != -1) {\r
+      html = StringUtil.readToString(getResources().openRawResource(htmlRes));\r
+    } else {\r
+      html = getIntent().getStringExtra(HTML);\r
+    }\r
     final WebView webView = (WebView) findViewById(R.id.webView);\r
     webView.loadData(html, "text/html", "utf-8");\r
     \r
index af9651f437ab7cf443c12e59e09e8c57580dac65..fe3fd1d34bcfb21564215abcc3e073556a7a596c 100644 (file)
@@ -13,7 +13,7 @@ import com.ibm.icu.text.Transliterator;
 
 public class HtmlEntry extends AbstractEntry implements RAFSerializable<HtmlEntry>, Comparable<HtmlEntry> {
   
-  final String title;
+  public final String title;
   public String html;
   
   
@@ -89,6 +89,8 @@ public class HtmlEntry extends AbstractEntry implements RAFSerializable<HtmlEntr
 
   public static class Row extends RowBase {
     
+    boolean isExpanded = false;
+    
     Row(final RandomAccessFile raf, final int thisRowIndex,
         final Index index) throws IOException {
       super(raf, thisRowIndex, index);