アプリに 2 ~ 3 個のアクティビティがあり、すべてがメモリ プール内のデータを共有しています。これらのアクティビティをすべて同時に実行しながら、簡単に切り替えることができるようにしたいと考えています。また、Android 4.0 向けに開発を行っています。を使用したいのですがTabActivity
、廃止され、 に置き換えられましたActionBar
。試してみましたが、探しているものではないと思います。ストック Android ミュージック アプリケーションにある従来の「アーティスト/プレイリスト/すべて」タブや、下のスクリーンショットの下部にあるタブ バーのような大きなタブが必要です。これらのタブを作成するためのライブラリや、ActionBar
よりカスタマイズ可能にする方法を知っている人はいますか? それともTabActivity
、ICS デバイスでも、完全に優れたソリューションを使用していますか?
3 に答える
これにはいくつかのサブ質問があります。私はそれらすべてに対処しようとします:
-上部のタブを使用するために、ActionBar を使用したい。
-ビュー間で横にスワイプすると、現在のビューのラベルが常に前面と中央にある音楽アプリのスタイルでそれを行う場合...そのために、使用したいクラスはViewPagerと呼ばれます
これらのメソッドはすべて、Eclipse で新しいアクティビティを作成し、ウィザードを実行することで確認できます。「ナビゲーション タイプ」では、「タブ」、「タブ + スワイプ」、「スワイプ ビュー + タイトル ストリップ」を選択できます。これらのアクティビティのいずれかを作成して外観を確認し、コードを見て実装方法とカスタマイズ方法を確認します。
-下部に沿ったナビゲーションはお勧めしません- Android デザイン ガイドを参照し、 「下部タブ バーを使用しない」セクションを指定してください
おそらく答えはもう見つかっていると思いますが、画像と xml を使用してタブ バーのようなものを作成する別の方法を紹介したいと思います。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:id="@+id/main">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/tabackground"
android:layout_alignParentBottom="true"
android:id="@+id/llBottom">
<ImageButton
android:src="@drawable/icon2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
/>
<ImageButton
android:src="@drawable/icon3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
/>
<ImageButton
android:src="@drawable/icon4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
/>
<ImageButton
android:src="@drawable/icon5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
/>
</LinearLayout>
<ImageView
android:layout_height="24dp"
android:layout_width="fill_parent"
android:layout_alignTop="@+id/llBottom"
android:background="#10ffffff"/>
<ImageView
android:layout_height="1dp"
android:layout_width="fill_parent"
android:layout_alignTop="@+id/llBottom"
android:background="#30ffffff"/>
</RelativeLayout>
完璧ではありませんが、いくらかの創造性といくつかの値の変更により、非常に見栄えがよくなります。
何らかの形で役立つことを願っています。
ActionBar は、実際に探しているものです。
アクティビティをフラグメントに変換する必要があります。複雑すぎなければ、これはまったく難しいことではありません。そこにはたくさんの例があります。FragmentActivity
それらすべてを保持するには、1 つのアクティビティ、できれば が必要です。
これは役立つはずです: