这个问题并不像看起来那么复杂。我根据互联网上的一些教程制作了这个设计。在 Honeycomb 可以可视化之前,我使用 SupportLibrary 对设备进行了滑动浏览选项卡式浏览。
现在我想在应用程序中添加一个 ActionBar。也可以使用 SuportLibrary appcompat.v7。
我已经使用 appcompat.v7 创建了一个与旧版本 Android 兼容的带有 ActionBar 的应用程序。
我现在没有得到什么并加入这两个导航结构。
我真的很想用下面的滑动标签添加到这个 mu ActionBar 项目中:
主要活动:
package br.com.wgbn.poemadodiav2;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.view.Menu;
public class MainActivity extends FragmentActivity {
private ActionBar actionBar;
private ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewPager = (ViewPager) findViewById(R.id.viewpager);
TitleAdapter titleAdapter = new TitleAdapter(getSupportFragmentManager());
mViewPager.setAdapter(titleAdapter);
mViewPager.setCurrentItem(0);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
标题适配器:
package br.com.wgbn.poemadodiav2;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.util.Log;
public class TitleAdapter extends FragmentPagerAdapter{
private String titles[] = new String[]{"O Poema do Dia","Comentários"};
private Fragment frags[] = new Fragment[titles.length];
public TitleAdapter(FragmentManager fm) {
super(fm);
frags[0] = new FragmentView1();
frags[1] = new FragmentView2();
}
@Override
public CharSequence getPageTitle (int position){
Log.v("TitleAdapter - getPageTitle=", titles[position]);
return titles[position];
}
@Override
public Fragment getItem(int position) {
Log.v("TitleAdapter - getItem=", String.valueOf(position));
return frags[position];
}
@Override
public int getCount() {
return frags.length;
}
}
活动主.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1">
<android.support.v4.view.PagerTabStrip
android:id="@+id/pagerTabStrip"
android:layout_gravity="bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#cccccc"/>
</android.support.v4.view.ViewPager>
</LinearLayout>
这是迄今为止运行的应用程序的图像。
我希望你能帮助我。
编辑
在 NikolaDespotoski 的指导下,决定仅更改 ActionBarActivity 的扩展类的问题!实际上我在想它必须同时实现这两件事,而没有意识到 ActionBarActivity 已经包含了两者。我的代码看起来像这样,并且有效:
导入android.os.Bundle;导入 android.support.v4.view.ViewPager;导入 android.support.v7.app.ActionBar;导入android.support.v7.app.ActionBarActivity;导入 android.view.Menu;
public class MainActivity extends ActionBarActivity {
// code here
}
谢谢!