[課題] ひとつの画面に複数のテキストを表示したい。 androidやiPhoneは、WindowsやMacとは異なり、ディスプレイを一つのアプリが専有してしまいます。そのため、テキストを比較したい時には、交互に表示したりしなくてはなりません。WindowsやMACに慣れた方にとって、スマートフォンに対して不満を持つ点ではないでしょうか。 この問題を解決するために、画面を分割する機能を追加して、同時に複数のテキストを表示できるようにしました。 同時にディスプレイに表示できるのは、本当に一つのアプリだけなのでしょうか。そんな事はないだろうと考えているあなた、その考えは正しいです。残念ながら、使用したことがないので解説できませんが、「Overlay Window android」で、Googleして見てください。実現方法がわかると思います。 [画面分割] 画面を分割する方法として、2つ頭に浮かびました。 - eclipse的な方法 - emacs的な方法 KyoroTextでは、emacs的な方法を採用しました。いつも、xyzzyというエディタを使用しているせいで、emacs的な方法に愛着があったのが一番の理由です。 また、実現方法も直に思いついたので、深く検討せずに実装してしまいました。まだまだ洗練されたものでは有りませんが、簡単に構造を紹介します。 [構造] KyoroTextの画面分割には、二分木を使用しています。文章で説明するのは難しいので、直接データーを構造を記述することにします。この方が直感的に理解できると思います。 1. 起動時は以下のようなリスト構造となっています。 [テキストA] 2. 画面分割にはすると以下のような感じになります。 [[テキストA, テキストB]] - --- A | --- B 3. さらに、フォーカスがテキストBにある状態で画面分割した場合は、以下のようになります。 [[テキストA, [テキストB,テキストC]]] - --- A | --- --- B | --- C とても単純ですね!! 簡単に実現できそうです。 後は、この構造に合わせて、UI操作を作れば良いのです。 [登場したクラス] Screen#separateScreen(Screen target) [たぶん次回のネタ] 前回はRobotiumがオヌヌメですよっと宣伝しました。 RobotiumがSeleniumライクに動作させるためにどのような事をしているのか? で、KyoroText用のテストフレームワークにどのように取り込もうとしているのか? について、解説します。
2012年12月20日木曜日
KyoroText で使用されている技術 その4
登録:
コメントの投稿 (Atom)
mbedtls dart の 開発を始めた web wasm ffi io flutter
C言語 で開発した機能を、Dart をターゲットとして、Web でも サーバーでも、そして Flutter でも使えるようにしたい。 そこで、mbedtls の 暗号化の部分を Dart 向けのPackageを作りながら、 実現方法を試行錯誤する事にした。 dart...
-
[課題] Low Memory Killer を意図的に発生させたい Androidには、ヒープが涸渇すると使われていないアプリをKillする機能があります。 この記事では、意図的にヒープを枯渇させて、この状態をつくる方法について説明します。 単純にヒープを大...
-
UPnPを用いて、NAT越えできました。しかし、ルータがUPnPをサポートしていなかったり。UPnPだけでは越えられないNATがあります。 本文では、その代案として前回解説できなかった。「適当なサーバーに接続してみて、相手から見えているアドレスを返してもらう方法」について解...
-
Dart の Native Extensions を利用して、 SDL を用いたマルチプラットフォームのゲーム開発環境を作れるか検証してみた。 結論からいくと、 「Mac 上で動作する SDL x Dart の アプリは動作させることが難しいよ」 と言うことです。 Wind...
0 件のコメント:
コメントを投稿