4

私は Android でチャット アプリケーションを開発しており、以下のスクリーンショットに添付されているように、現在一致しているユーザーに応じて動的なチャット タブを追加したいと考えています。

ここに画像の説明を入力

スクリーン ショットのチャット タブは上部にありますが、必要ですChat Tabs at bottom。今、私はロジックを開発したいonCreate methodので、

一致するユーザーが 3 人いる場合は、3 つのタブを作成します。

一致したユーザーが 4 人いる場合は、同様に 4 つのタブを作成します。

私はチャットタブをたくさん検索し、使用してチャットタブを作成する方法をTabHost見つけました..しかし、それは非推奨であることもわかりました..別の方法は..どこかでチャットタブをセットアップAction BarすることActionBarSherlockです。何を使用するチャットタブについて非常に混乱していますか?

どんな助けでも大歓迎です。

4

3 に答える 3

1

しばらくの間 ActionBarSherlock を使用していましたが、新しい Android SDK 18 Action Bar Compat に移行しました。あなたのプロジェクトはアクション バー タブの単純な実装のように見えますが、この時点で ActionBarSherlock (または tabHost) の使用を開始する理由がわかりません。

Action Bar Compat は Action Bar Sherlock に非常に似ており、Android V4 サポート ライブラリの不可欠なコンポーネントであるという利点があります (SDK 7 と互換性があります)。http://developer.android.com/tools/support-library/index.htmlの「新しい v7 appcompat ライブラリ」セクションを参照してください。

また、明確に文書化されているという利点もあります。このガイドでは、セットアップ方法について詳しく説明しています: http://developer.android.com/tools/support-library/setup.html

(「リソースを使用してライブラリを追加する」セクションに特に注意してください)

それが終わったら、次のガイドに従ってサポート アクション バーをセットアップします: http://developer.android.com/guide/topics/ui/actionbar.html

「ナビゲーション タブの追加」セクションでは、tabListener の明確な例と、タブを追加する方法を示します。追加するタブの数を決定するには、このコード (for ループ / if ステートメント) を少し調整する必要があります。私はこれを以前に行ったことがありますが、それは簡単なプログラミングです。

于 2013-07-30T23:31:55.160 に答える
1
@SuppressWarnings("deprecation")
public class MainActivity extends TabActivity {
    public static TabHost tabHost;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.tab_main);

        // call addtab() how many times you need and pass tag and image resource id          
    }
    private void addTab(String tag, int drawableId) {
        tabHost = getTabHost();

        TabHost.TabSpec spec = tabHost.newTabSpec(tag);

        // tab_indicator layout contains only imageview. this is for fix image size, position
        View tabIndicator = LayoutInflater.from(this).inflate(
                R.layout.tab_indicator, getTabWidget(), false);
        ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon);
        icon.setImageResource(drawableId);
        spec.setIndicator(tabIndicator);
        tabHost.addTab(spec);
    }


}
于 2013-07-26T14:14:40.087 に答える