Ich bin Support-Aktionsleiste in einer Anwendung verwendet und Test in 2 Geräten Nexus S und Nexus 7 und ich fand verschiedene Ergebnisse in Bezug auf Tab-Leiste Breite, Nexus S Tab bar Füllbreite während Nexus 7 Tab-Leiste lassen Sie etwas Platz auf der linken Seite. i verwendet Standard-Theme durch die Unterstützung der Aktionsleiste versehen, Anwendung benutzerdefinierte Themen nicht Aktionsleiste bewirken, weil Eltern Stil mussAktionsleiste Tabs nicht füllen Bildschirm in Android
Aktivität in Manifest
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Light" >
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Klasse Theme.AppCompat.Light werden:
public class MainActivity extends ActionBarActivity implements ActionBar.TabListener {
ActionBar bar;
ViewPager pager;
TabsAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pager = (ViewPager) findViewById(R.id.pager);
bar = getSupportActionBar();
adapter = new TabsAdapter(getSupportFragmentManager());
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
bar.setHomeButtonEnabled(false);
pager.setAdapter(adapter);
pager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// When swiping between different app sections, select the
// corresponding tab.
// We can also use ActionBar.Tab#select() to do this if we have
// a reference to the
// Tab.
bar.setSelectedNavigationItem(position);
}
});
Tab hometab = bar.newTab();
hometab.setText("Home");
hometab.setTabListener(this);
bar.addTab(hometab);
Tab cameratab = bar.newTab();
cameratab.setText("Camera");
cameratab.setTabListener(this);
bar.addTab(cameratab);
Tab exploretab = bar.newTab();
exploretab.setText("Explore");
exploretab.setTabListener(this);
bar.addTab(exploretab);
bar.show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub
pager.setCurrentItem(arg0.getPosition());
}
@Override
public void onTabUnselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub
}
}
hier Screenshots
Könnten Sie einige Beispiel-Code posten? Ihre Aktivität und Layout XML-Code? – athor
Ich habe keine Antwort, also hier veröffentlichen, Theme.AppCompat.Light Quellcode ist in themes.xml Datei in Android-Support-v7-Appcompat-Projekt. Sieh es dir dort an, ändere es, um zu sehen, wie es für beide Geräte anders ist, und vielleicht kannst du eine bessere Vorstellung davon bekommen, was dieses Problem verursacht. – omermuhammed
@omermuhammed Ich habe diese XML geändert, aber es wirkt sich nicht auf meine Anwendung aus –