【問題の説明】
UCブラウザのWebページのコンテンツなど、いくつかのスクロールの例をよく見ることができます。コンテンツがたくさんある場合、スクロールページネーションを使用して表示するのが合理的です。キャンバスの図面では、余分なコンテンツが切り捨てられます。ページネーションディスプレイのスクロールを実現する方法は?
【原理】
Javameには座標変換機能があります。対応するキーイベントがトリガーされたら、対応するページを表示し、スクロールバーを対応する位置にスクロールさせます。
【コードリスト】
showhelp.javapack.view.lcdui.font; Token.uicontoken.view.componedヘッドヘッド。 true)= getWidth(); 0; 、 ""、 "return");ポイントディスプレイ; /n "3スクロールページ +" +" +"スクロールページスクロールページn " +" +" +" +" +" +" +" +"スクロールページディスプレイスクロールページングディスプレイスクロールページングディスプレイスクロールページングディスプレイスクロールページングディスプレイ。長さ*ft.gethe yight()/(height-head.menuheight-menu.menuheight-2*margin)+1; ) *getheight(); .Menuheight+Margin、width、bodyheight); 、I*ft.getheight.menuheight +graphics.top | graphics.translate(0、currentpageindex*bodyheight) System.out.println(Graphics.getTranslatey()); head.menuheight、2、barheight.setcolor(color.selectbg); keycode){//system.out(keycode); .event.event_main_screen、 index> 0){// dir = 0; /dir = 0;
* UICONTROLLERのJavame Serialization(3)を参照してください - MVCデザインパターンについても話してください。ここでは繰り返しません。
【分析】
1文字列分割
string info_wrap1 [] = stringdealmethod.format(info、width-15、ft);
詳細については、Javame Serialization(4)を参照してください - 自動ラインラッピングテキストを描く
2単語の切り捨てを避けてください
フォントや画面の高さの変更のためにテキストを切り捨てることなく、指定された領域にテキスト全体を描画し、テキストに「半分の切り抜きの単語」を持たせる方法は?
bodyheight =((int)(height-head.menuheight-menu.menuheight)/ft.getheight())*ft.getheigh();
上記の処理の後、スクロール領域の高さのボディハイトは常にフォントの高さの整数倍になるため、上記の単語の切り捨ての問題は発生しません。
3テキストを描画します
for(int i = 0; i <info_wrap1.length; i ++){graphics.drawstring(info_wrap1 [i]、5、i * ft.getheight()+head.menuheight+マージン、グラフィックス。 ;
4座標変換
graphics.cliprect(0、head.menuheight+margin、width、bodyheight);
テキストが描画されたら、座標を変換します。
Graphics.Translate(0、-dir*currentPageIndex*BodyHeight);
5スクロールバーを描きます
プライベートボイドdrawscrollbar(){int barheight.menuheight-menu.menuheight; color.selectbg)
6イベント処理
キープレスイベントが検出されると、ページターン操作が実行されます。
保護されたkeypressed(int keycode){//system.println(keycode){case keyid.soft_right:{string flag = "0"; .handleevent(uicontroller.event_main_screen、break); 1。CurrentPageIndex - // dir = 0} } else {// dir = 0;
この例メソッドは、画面の幅と長さを適応的に検出し、図1に示すように、フォントのサイズに応じてテキストをページングできます。
画像スクロールディスプレイ効果