Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как заставить работать ViewPager + TabLayout в ScrollView? - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Потоки. Canvas http://www.cyberforum.ru/android-dev/thread1797165.html
Добрый день. Подскажите, как реализовать обработку изменения цвета с помощью потоков? Не могу разобраться как обратиться package niki.myapplication; import android.graphics.Canvas; import...
Программирование Android Android > 5 версии права приложения На Android 6 после установки нет прав. Необходимо в приложении какой то интент запускать p.s. когда захожу в свойства приложения -> разрешения то там все права отключены (включаю в ручную_) Как... http://www.cyberforum.ru/android-dev/thread1797131.html
Программирование Android OnClick для всего экрана
На Activity находится много компонентов. Activity несколько штук. И нужно сделать так чтобы при касании экрана в любом месте выполнялось public void onClick(View view) { //должно...
Не работает будильник Программирование Android
Всем привет, может тут найду ответ! купил недавно мобилу oysters pacific e с Андройдом 6,1. Проблема с будильником...Он не срабатывет или срабатывает 1 раз через 3...Установка левых программм...
Программирование Android Как быстро подключить готовую БД SQLite к проекту Android http://www.cyberforum.ru/android-dev/thread1797025.html
Решил написать мини гайд по подключению готовой БД, мне это пригодится неоднократно, надеюсь кому-то будет полезно: Создать папку Assets, New -> Folder -> Assets Folder Скопировать вашу БД в...
Программирование Android Передача данных между потоками Всем доброго времени суток. В общем есть приложение, которое парсит сайт с музыкой, добавляет результат в listView и затем выводит результат на экран. Сам парсинг проходит в одном потоке, а вывод на... подробнее

Показать сообщение отдельно
STRATEG_LTY
2 / 2 / 0
Регистрация: 21.04.2013
Сообщений: 22

Как заставить работать ViewPager + TabLayout в ScrollView? - Программирование Android

22.08.2016, 14:51. Просмотров 368. Ответов 2
Метки (Все метки)

Здравствуйте.
Столкнулся с проблемой - ViewPager напрочь отказывается отображаться в ScrollView. При этом вне ScrollView всё работает как надо. Ошибок система никаких не выдаёт.
В попытка решить эту проблему я использовал решения с этих сайтов:
stackoverflow.com/questions/7381360/is-it-possible...
muratonnet.blogspot.ru/2014/01/android-viewpager-i...
и ещё нескольких не относящих на прямую к проблеме.

Вот шаблон layout для фрагмента в котором я вывожу ViewPager
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.example.strateg.test.NawigationDrawer"
    tools:showIn="@layout/app_bar_nawigation_drawer"
    android:id="@+id/main_layout">
 
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
 
    <include layout="@layout/details_project_page"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        ></include>
 
    </ScrollView>
 
</FrameLayout>
Вот шаблон ViewPager + TabLayout
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?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"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/layout_details_page_project">
    <android.support.design.widget.TabLayout
       android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/tab_layout_details_project"
        app:tabIndicatorColor = "@color/color_blue_text"
        app:tabIndicatorHeight="6dp"
        app:tabSelectedTextColor="@color/color_black_head_project_page"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
         />
 
    <android.support.v4.view.ViewPager
 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/content_details_tabs_layout"
        app:layout_behavior = "@string/appbar_scrolling_view_behavior"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_above="@+id/tab_layout_details_project"
        android:fillViewport="true"
        android:forceHasOverlappingRendering="false"
        android:nestedScrollingEnabled="false"
        android:touchscreenBlocksFocus="false"
        android:transitionGroup="false">
 
    </android.support.v4.view.ViewPager>
 
</RelativeLayout>
Вот класс который управляет ViewPager + TabLayout

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
public class DetailsTabLayoutPageProject {
 
    private ViewPager content_details_tabs_layout;
 
    private void init_tabs()
    {
 
    }
 
    DetailsTabLayoutPageProject(FragmentManager fragmentManager, View parent)
    {
        content_details_tabs_layout = (ViewPager) parent.findViewById(R.id.content_details_tabs_layout);
        AdapterFragmentTabs adapter = new AdapterFragmentTabs(fragmentManager);
        content_details_tabs_layout.setAdapter(adapter);
        TabLayout tab_layout_details_project = (TabLayout) parent.findViewById(R.id.tab_layout_details_project);
        tab_layout_details_project.setupWithViewPager(content_details_tabs_layout );
    }
 
    class AdapterFragmentTabs extends FragmentPagerAdapter {
        private String tabs[];
 
        public AdapterFragmentTabs(FragmentManager fm) {
            super(fm);
            tabs = new String[]{
                    "1 вклвдка",
                    "2 вклвдка",
                    "3 вклвдка",
                    "4 вклвдка",
                    "5 вклвдка",
            };
        }
 
        @Override
        public Fragment getItem(int position) {
            switch (position)
            {
                default:return MyExampleFragment.getInstance();
            }
        }
 
        @Override
        public CharSequence getPageTitle(int position) {
            //return super.getPageTitle(position);
            return  tabs[position];
        }
 
        @Override
        public int getCount() {
            return tabs.length;
            //return 0;
        }
    }
 
    static class MyExampleFragment extends Fragment{
        private static final int LAYOUT = R.layout.description_project_page_fragment;
        private View view;
 
        public static MyExampleFragment getInstance()
        {
            Bundle args = new Bundle();
            MyExampleFragment fragment = new MyExampleFragment();
            fragment.setArguments(args);
            return fragment;
        }
        @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            view = inflater.inflate(LAYOUT, container, false);
            return view;
        }
    }
}
Подскажите пожалуйста, как заставить ViewPager отображаться в ScrollView.
Или возможно надо использовать другой контейнер вместо ScrollView.
Или предложите чем можно заменить связку ViewPager + TabLayout, но с таким же функционалом.
Или если у вас есть рабочий код в котором ViewPager отображается в ScrollView, то дайте пожалуйста на него ссылку, может смогу найти причину сравнивая код.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.