[課題] ひとつの画面に複数のテキストを表示したい。 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する機能があります。 この記事では、意図的にヒープを枯渇させて、この状態をつくる方法について説明します。 単純にヒープを大...
-
P2Pアプリは、サーバーとクライアントの両方機能をもったアプリです。基本的には、各言語のServer用のSocketでプログラムを書くことでこのサーバー部分の機能を実装できます。しかし、ご家庭の端末はそれだけでは実現できない事があります。 ○ NATの弊害 「端...
-
Dart の Native Extensions を利用して、 SDL を用いたマルチプラットフォームのゲーム開発環境を作れるか検証してみた。 結論からいくと、 「Mac 上で動作する SDL x Dart の アプリは動作させることが難しいよ」 と言うことです。 Wind...
0 件のコメント:
コメントを投稿