Скользящая полоса вкладок пейджера с кнопками и текстом редактирования для соответствующей вкладки

Я сослался на эту Полосу скользящих вкладок пейджера. Я получаю вывод как есть.

Но моя единственная проблема в том, что я не знал, как добавить кнопку для вкладки категорий, Textview для вкладки Home, Edittext для вкладки 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>

Основная активность, 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. Он просто добавляет кнопку не только на вкладку «Категория». Но он добавляет кнопку на все вкладки.

Мне нужно добавить кнопку на вкладке категории. Затем мне нужно добавить текст редактирования на вкладке «Главная». Возможно ли это сделать в полосе скользящих вкладок пейджера.

Редактировать: не было макета xml отдельно для вкладок категории и главной вкладки. Вот почему я запутался с этим.


person Steve    schedule 07.01.2015    source источник
comment
как добавить кнопку? в макете activity_main.xml? или во фрагменте viewpager?   -  person calvinfly    schedule 07.01.2015
comment
@calvinfly Я отредактировал свой файл activity_main.xml. Я добавил его в файл activity_main.xml. Проверьте это.   -  person Steve    schedule 07.01.2015
comment
вы должны добавить кнопку на фрагмент вкладки категории, а не на макет activity_main   -  person calvinfly    schedule 07.01.2015
comment
@calvinfly, вы видели эту ссылку, не было XML для фрагмента вкладки категории. Вот почему я запутался с этим.   -  person Steve    schedule 07.01.2015
comment
вы используете образец на полосе скользящих вкладок пейджера   -  person calvinfly    schedule 07.01.2015
comment
@calvinfly да. Я уже упоминал об этом в первой строке своего поста.   -  person Steve    schedule 07.01.2015
comment
Давайте продолжим обсуждение в чате.   -  person calvinfly    schedule 07.01.2015


Ответы (2)


вы должны добавить кнопку в макет фрагмента вкладки категории, а не в макет activity_main

person calvinfly    schedule 08.01.2015

Пользователь @Calvinfly предложил мне, чтобы я мог узнать ответ. Чтобы быть более понятным:

В моем MainActivity.java внутри MyPagerAdapter я установил такую ​​​​позицию

    @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);
    }
person Steve    schedule 08.01.2015