如何适应ActionBar.TabListener的使用

时间:2015-04-17 11:16:17

标签: java android tabs android-actionbar

我想创建一个由视图头部中的一些textView和按钮组成的视图,以及这些textView和按钮下面的一些选项卡。我正在使用一个正在实现ActionBar.TabListener的类,但问题是制表符保留在视图中,textViews(和按钮)位于它们下面,这与我想要的相反。 我认为界面“ActionBar.TabListener”不适合作为这个问题的解决方案。有什么建议可以解决这个问题吗?

这是我的文件XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/red" >
<LinearLayout 
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:paddingTop="5dip"
     android:paddingBottom="5dip">
     <ImageView
         android:contentDescription="@string/logo"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:src="@drawable/dbm"
         />
 </LinearLayout>
 <LinearLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal"
     >
     <Button 
         android:id="@+id/btn_creer"
         android:layout_width="0dp"
         android:layout_weight="1"
         android:layout_height="wrap_content"
         android:text="@string/ajt_LC"
         android:textStyle="bold"
         />
     <Button
         android:id="@+id/btn_supp"
         android:layout_width="0dp"
         android:layout_weight="1"
         android:layout_height="wrap_content"
         android:text="@string/sup_LC"
         android:textStyle="bold"
         />
 </LinearLayout>
 <ListView
    android:id="@+id/lstView"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1" >
</ListView>
 <LinearLayout 
     android:orientation="horizontal"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     >
     <TextView 
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:textStyle="bold"
     android:textColor="#000000"
     android:layout_margin="10dp"
     android:text="@string/lab_total"
     />
     <TextView 
     android:id="@+id/total"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:textStyle="bold"
     android:textColor="#000000"
     android:layout_margin="10dp"
     />
 </LinearLayout>
</LinearLayout>

这是我的代码JAVA文件:

public class FragmentsSliderActivity extends FragmentActivity implements ActionBar.TabListener{

private MyPagerAdapter mPagerAdapter;
private ViewPager viewPager;
private ActionBar actionBar;
// Tab titles
private String[] tabs = { "TAB 1", "TAB 2"};
String login;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.viewpager);
    viewPager = (ViewPager) super.findViewById(R.id.viewpager);
    actionBar = getActionBar();
    this.mPagerAdapter = new MyPagerAdapter(getSupportFragmentManager());       
    viewPager.setAdapter(this.mPagerAdapter);
    actionBar.setHomeButtonEnabled(false);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);       

    // Adding Tabs
    for (String tab_name : tabs) {
        actionBar.addTab(actionBar.newTab().setText(tab_name)
                .setTabListener(this));
    }
    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            // on changing the page
            // make respected tab selected
            actionBar.setSelectedNavigationItem(position);
        }
        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
        }

        @Override
        public void onPageScrollStateChanged(int arg0) {
        }
    });
}

0 个答案:

没有答案