アクション バーと 2 つのタブを含むアプリケーションを作成しました。アプリケーションのタブとタイトルは、スクリーンショットに示されているように同じ行にあります。タブをタイトルの下の行に配置し、同じ重量にする必要があります。以下のコードを見て、私を助けてください。ありがとう。
package com.example.myproj;
import java.util.ArrayList;
import android.os.Bundle;
import android.app.ActionBar;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.app.ActionBar.Tab;
import android.content.Context;
import android.view.Menu;
import android.widget.Toast;
public class MainActivity1 extends Activity {
public static Context appContext;
static ArrayList<String> myarray = new ArrayList();
static ArrayList<String> myarray1;
static ArrayList<String> myarray2 = new ArrayList();
static ArrayList<String> myarray21;
static int check1 = 0;
static int check2 = 0;
static int stcount = 0;
static int csicount = 0;
static ActionBar.Tab PlayerTab;
static ActionBar.Tab StationsTab;
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
appContext = getApplicationContext();
ActionBar actionbar = getActionBar();
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
PlayerTab = actionbar.newTab().setText("ST");
StationsTab = actionbar.newTab().setText("CSI");
// settab1("Testing");
Fragment PlayerFragment = new AFragment();
Fragment StationsFragment = new BFragment();
PlayerTab.setTabListener(new MyTabsListener(PlayerFragment));
StationsTab.setTabListener(new MyTabsListener(StationsFragment));
actionbar.addTab(PlayerTab);
actionbar.addTab(StationsTab);
}
public static void settab1(String text) {
PlayerTab.setText(text);
}
public static void settab2(String text) {
StationsTab.setText(text);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
class MyTabsListener implements ActionBar.TabListener {
public Fragment fragment;
public MyTabsListener(Fragment fragment) {
this.fragment = fragment;
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
Toast.makeText(MainActivity1.appContext, "Reselected!",
Toast.LENGTH_LONG).show();
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
ft.replace(R.id.fragment_container, fragment);
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
ft.remove(fragment);
}
}