2

私は Android 開発の経験があり、Kindle (Android ベースの Kindle Fire ではありません) の開発という新しいことを学ぶことにしました。

Amazon は、KDK + Personal Basis Profile 1.1.2 (JSR 217)をプラットフォームとして提供しています。

私の問題は、UIをどのように設計するかです。私はawtの経験がありません(Javaスイングでいくつかのアプリを実行しただけです)が、非常に単純であるため、大きな問題ではないようです...主な問題は、AndroidのListView.

という名前のコンポーネントを使用しようとしましたKPagesKLabelただし、ページモデル以​​外には何も入れることができません...

    PageProvider pp = PageProviders.createKBoxLayoutProvider(KBoxLayout.PAGE_AXIS);
    final KPages pages = new KPages(pp);

    for (int i = 0; i < 40; i++) {
        final KPanel listItem = new KPanel();
        // listItem.add(new KLabelMultiline("label numero " + i + " is not very good, because it will be displayed over more than one line and 'pages' won't be able to deal with it"));
        listItem.add(new KLabel("label numero " + i + " is very good, because it won't be displayed over more than one line and 'pages' will be able to deal with it"));
        listItem.add(new KButton("read"));
        listItem.add(new KButton("edit"));
        pages.addItem(listItem);
    }

    context.getRootContainer().add(pages);

上記のサンプル コードは、いくつかの項目を一覧表示するための私の取り組みを示しています。を使用してKPages追加する場合にのみうまく機能します。挿入するだけでページングが機能しなくなります (ラベル 0 ~ 12 を表示する代わりに、0 ~ 26 を 1 行として「表示」しますが、kindle の画面には 14 ~ 26 しか表示されません)。ラベルと 2 つのボタンで全体を挿入しようとすると、ボタンなしで、ラベルのリストに続いて項目ごとに 1 つの空の行が表示されます...同じ外側のページを表示しても問題なく動作します-ラベルと両方のボタンが表示されます...KLabelpages.addItem()KLabelMultilineKPanelKPanel

何かを忘れたのは私のせいだとほぼ確信していますが、KDK で入手できる情報が非常に少ないため、見つけることができません... 誰か手を貸してくれませんか? ありがとう

4

1 に答える 1

0

getPreferredSizegetMinimumSize、およびgetMaximumSizeのコンストラクタへの呼び出しをオーバーライドしてみてくださいKPanelwidthheightを画面サイズに設定します。

final KPanel listItem = new KPanel() {
  public Dimension getPreferredSize() {
    return new Dimension(width, height);
  }
  public Dimension getMinimumSize() {
    return new Dimension(width, height);
  }
  public Dimension getMaximumSize() {
    return new Dimension(width, height);
  }
};
于 2013-02-07T23:14:57.647 に答える