0

私は Android を初めて使用し、最初のアプリに取り組んでいます。これは、現時点ではまだ「Hello World」の取り組みです。私の主な活動では、2 つのタブのセットが必要です。最初のタブは、基本的に上部のボタン/テキストの行とその下のリストビューであるいくつかの準線形レイアウトで構成されるレイアウトです (簡潔にするために編集されています)。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="8"

    <ImageButton
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="34dp"
        android:layout_weight="0.86"/>

    <ImageButton
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
  </LinearLayout>

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1">

    <ListView
        android:id="@+id/listview1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    </ListView>
  </LinearLayout>

2 番目のタブは、タブ全体を埋めるリストビューになります。上記のレイアウトを主なアクティビティとして機能させており、それをタブ ビューに配置し、タブ 2 でリストビューを作成するように進化させようとしています。各ボタンとリスト アイテムをクリックすると、それぞれのアクティビティが起動します。

現在非推奨と思われる TabActivity クラスを使用したタブ実装の例/チュートリアルを多数見つけました。私が集めたものから、 FragmentActivity が代わりになるようです。

私はこのサンプルを機能させましたが、ネストされたレイアウトよりもリストビューをタブにうまく配置できていません。がんばります!

タブへの Fragment アプローチは、現在受け入れられているベスト プラクティスですか? 私が見てきたことから、私はまだUIソリューションとアクションバーの両方に傾いています. これらのタブ付きフラグメントの実装のいくつかがどれほど複雑であるかを見て、考えが変わるかもしれません。:-)

タブにリストビューやネストされたレイアウトを実装する良い例へのポインタはありますか?

前もって感謝します!

4

1 に答える 1

0

あなたと同じように、私は Android を初めて使用するので、これが適切な解決策であるかどうかはわかりませんが、次の例では ListFragment を使用して、Fragments を使用してタブ内に 2 つのリストを実装しています。

http://android.codeandmagic.org/2011/07/android-tabs-with-fragments/

Fragment アプローチに関しては、TabActivity を使用する古いスタイルに比べて非常に複雑であることがわかりました。Android の開発チームは急いで ICS 用の Fragments を開発し (タブレットをカバーするために?)、TabActivity を非推奨にすることを選択したようです。それらの有用性と正確さのために。

単純なものをもっと複雑なものに置き換えて、古いものを非推奨にすることによる明らかな利点がない場合、急いで決定したという悪い印象が残ります。将来、これが覆されても驚かないでしょう (代わりに、ICS はタブレットの市場から追い出されました)。

最終的には市場が決定しますが、過去の経験からすると、勝者としてより複雑な方法を選択することはあまりありません。特に大きな利点がそこにないように思われる場合。

于 2012-06-15T07:44:56.223 に答える