寻呼机滑动标签条带按钮和编辑文本的适当选项卡

时间:2015-01-07 10:50:48

标签: android android-fragments tabs pagerslidingtabstrip

我提到了Pager Sliding Tab Strip。我按原样获得了输出。

但我唯一的问题是我不知道如何添加类别选项卡的按钮,Textview for Home选项卡,Edittext for Top Paid选项卡。

我只看到两个布局:

activity_main.xml中:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <com.astuetz.PagerSlidingTabStrip
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="48dip"
        android:background="@drawable/background_tabs" />

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/colors"
        android:layout_below="@+id/tabs"
        tools:context=".MainActivity" />

    <LinearLayout
        android:id="@+id/colors"
        android:layout_width="match_parent"
        android:layout_height="48dip"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="8dip"
        android:layout_marginLeft="4dip"
        android:layout_marginRight="4dip"
        android:orientation="horizontal" >

    </LinearLayout>

   <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/colors"
    android:layout_alignTop="@+id/pager"
    android:layout_marginLeft="58dp"
    android:layout_marginTop="46dp"
    android:text="Button" />


</RelativeLayout>

fragment_quick_contact.xml:

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

    <ImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="170dip"
        android:scaleType="centerCrop"
        android:src="@drawable/contact" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/image"
        android:background="#77000000"
        android:paddingBottom="14dip"
        android:paddingLeft="8dip"
        android:paddingTop="14dip"
        android:text="Quick Contact"
        android:textColor="#FFFFFFFF"
        android:textSize="18sp" />

    <com.astuetz.PagerSlidingTabStrip
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="62dip"
        android:layout_below="@+id/image"
        android:background="@drawable/background_tabs_diagonal"
        app:pstsDividerColor="#00000000"
        app:pstsIndicatorColor="#FF33B5E6"
        app:pstsTabPaddingLeftRight="14dip"  
        app:pstsUnderlineColor="#FF33B5E6" />

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="96dip"
        android:layout_below="@+id/tabs" />

</RelativeLayout>

MainActivity,JAVA:

public class MyPagerAdapter extends FragmentPagerAdapter {

    private final String[] TITLES = { "Categories", "Home","Profile" };

    public MyPagerAdapter(FragmentManager fm) {
        super(fm);
    }  

    @Override
    public CharSequence getPageTitle(int position) {
        return TITLES[position];
    }

    @Override
    public int getCount() {
        return TITLES.length;
    }

        return SuperAwesomeCardFragment.newInstance(position);
    }

}

如果我在activity_main.xml中添加一个按钮。它只是在类别选项卡中添加按钮。但是,它在所有选项卡中添加了按钮。

我需要在类别选项卡中添加按钮。然后我必须在主页选项卡中添加编辑文本。可以在Pager Sliding Tab Strip中执行此操作。

编辑:类别标签和主页标签没有单独的xml布局。这就是我对此感到困惑的原因。

2 个答案:

答案 0 :(得分:1)

您应该在Category Tab片段布局上添加按钮,而不是activity_main layout

答案 1 :(得分:0)

用户@Calvinfly建议我,所以我可以找到答案。要更清楚:

MyPagerAdapter内的 MainActivity.java 中,我设置了这样的位置

    @Override
    public Fragment getItem(int position) {

        switch (position) {
        case 0:
            return new Category();
        case 1:
            return new Home();

        case 2:
            return new TopPaid();

        }  

        return SuperAwesomeCardFragment.newInstance(position);
    }
相关问题