2

私はアンドロイド開発に非常に慣れていません。activity1目次で詳細を表示する単純な2つのアクティビティベースのebbokタイプのアプリケーションを作成しようとしていますactivity2。目次を一覧表示する Activity1 にリストビューがあります。特定のコンテンツをクリックすると、activity2. onCreateofではactivity2、コンテンツを文字列に読み込みます (アセットの txt ファイルから)。activity2それをtextViewに表示します( .xmlで定義されています)。ここまでは順調ですね。ここでの課題は、コンテンツをページごとに表示することです。これは、現在、すべての文字列がactivity2. activity2そこで、 ( で定義した)の下部に 2 つのボタンを追加しましたactivity2.xml。今考えているロジックは

  1. 画面の高さを取得します(取得できました)
  2. botton の高さを取得し、1) から 2) を引きます。onCreateボタンの高さを取得できないため、これを行うことができませんActivity2
  3. 次に、1ページに収まるテキストの量を見つけ、それに応じてページ数を見つけ、ページインデックスを使用してページ区切り記号を使用し、ユーザーが「次へ」ボタンをクリックしたときに残りのテキストを次のページにロードし続けます.

したがって、2) で述べたようにボタンの幅を取得する方法についての助けが必要です。また、上記の 3) を実行するために共有できるサンプル コードも役に立ちます。

そこにいるあなたの専門家からの助けがあれば、大歓迎です。

4

2 に答える 2

0

Fragementsを使用すると、問題が解決します。

断片

フラグメントは、アクティビティの動作またはユーザーインターフェイスの一部を表します。1つのアクティビティで複数のフラグメントを組み合わせてマルチペインUIを構築し、複数のアクティビティでフラグメントを再利用できます。フラグメントは、独自のライフサイクルを持ち、独自の入力イベントを受け取り、アクティビティの実行中に追加または削除できるアクティビティのモジュラーセクションと考えることができます(「サブアクティビティ」のようなものです。さまざまな活動で再利用)。

たとえば、ニュースアプリケーションでは、1つのフラグメントを使用して左側に記事のリストを表示し、別のフラグメントを使用して右側に記事を表示できます。両方のフラグメントが1つのアクティビティに並べて表示され、各フラグメントには独自のライフサイクルのセットがあります。コールバックメソッドと独自のユーザー入力イベントを処理します。したがって、あるアクティビティを使用して記事を選択し、別のアクティビティを使用して記事を読む代わりに、ユーザーは記事を選択して同じアクティビティ内ですべてを読むことができます。

fragementsの詳細については、このリンクを参照してください。それがあなたを助けることを願っています。

于 2013-01-05T11:56:15.763 に答える
0

多数のページにわたって長い文字列を表示する非常に効率的な方法を見つけました。-長いテキストをテキストビューに表示し、スクロールを無効にします -次に、レイアウト内の行と単一画面の行を見つけます。したがって、長い文字列が何画面(ページ)にまたがるかがわかりますボタンで次のページに移動するか、画面をスワイプして次のページに移動し、TexView.scrollTo() 関数を使用して行数 (画面上の数) 先に移動します。次のページに移動するのと同じように

于 2014-01-03T22:25:39.767 に答える