1

ActionBarSherlockを使用して、アプリでいくつかのHoloテーマタブとActionBarを取得し、各タブの動作を処理するフラグメントを作成しました。画面の下部にあるフラグメントの「サンドイッチ」を行うために、タブと下部にあるボタンが必要でした。両方のフラグメントにワンクリックリスナーを配置するボタンがあります。

私のアクティビティでは、このようなタブを作成しました。

public class InviteFriendsActivity extends SherlockFragmentActivity implements ActionBar.TabListener
{
  protected void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);

    ActionBar bar = getSupportActionBar();
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    ActionBar.Tab tab1 = bar.newTab();
    tab1.setText("Tab 1");
    tab1.setTabListener(this);  

    ActionBar.Tab tab2 = bar.newTab();
    tab2.setText("Tab 2");
    tab2.setTabListener(this);  

    bar.addTab(tab1);
    bar.addTab(tab2);
  }
}

そして、onTabSelectedを作成しました

 public void onTabSelected(Tab tab, FragmentTransaction ft)
{
    if (tab.getPosition() == 0)
    {
        Fragment1 frag = new Fragment1();
        ft.replace(android.R.id.content, frag);
    }
    else if (tab.getPosition() == 1)
    {
        Fragment2 frag = new Fragment2();
        ft.replace(android.R.id.content, frag);
    }
}

タブを表示または変更するのに問題はありませんが、このアクティビティの実行中に画面の下部に並んで静止したままで、2つを切り替えることができるボタンを取得する方法がわからないようです。フラグメント。

4

1 に答える 1

2

すべてのフラグメントと各タブに表示されるボタンが必要ですか?
これは、フラグメントを表示するfragmentcontainerを使用して簡単に実行できます。たとえば、次のようなレイアウトを使用します。

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

    <fragment
        android:name="com.example.yourfragmentcontainer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/button1"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:text="Button" />

</RelativeLayout>

フラグメントコンテナを使用してActonBarを設定する方法については、次のチュートリアルをご覧ください:http: //arvid-g.de/12/android-4-actionbar-with-tabs-example

于 2012-09-24T23:43:51.270 に答える