Форум программистов, компьютерный форум CyberForum.ru

создание ViewPager - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
09.01.2013, 23:26     создание ViewPager #1
здравствуйте,возник вопрос по ViewPager. Не получается добавить компоненты после ViewPager, т.е Статический компонент вверху и внизу,а по середине будет ViewPager,который и будет пролистываться? ViewPager получаю с помощью LayoutInfliter.

Добавлено через 14 минут
Забыл сказать,что ViewPager содержит GridView
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 23:26     создание ViewPager
Посмотрите здесь:

Android Динамическое создание и заполнение ViewPager
ViewPager Android
Android ViewPager
ViewPager Indicator Android
Android Поворот ViewPager
Android ViewPager и ListView
ViewPager Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.01.2013, 00:43     создание ViewPager #2
Цитата Сообщение от lavan Посмотреть сообщение
Не получается добавить компоненты после ViewPager
значит что-то делаете неправильно.
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
10.01.2013, 12:17  [ТС]     создание ViewPager #3
ну так расскажите как правильно!для этого и был задан вопрос!
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.01.2013, 16:01     создание ViewPager #4
чтобы сказать что вы сделали неправильно, мне нужно увидеть что вы сделали вообще.

Добавлено через 25 секунд
я не экстрасенс.
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
10.01.2013, 19:14  [ТС]     создание ViewPager #5
Вы правы. Имею 2 варианта с LayoutInflater и без
1. С LayoutInflater
main.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:id="@+id/ll"
    >
     <TextView 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Static text"
        android:id="@+id/tvp2"
        />
</LinearLayout>
Откуда беру компоненты
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" 
>
    <android.support.v4.view.ViewPager
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:id="@+id/v4"
        android:background="@color/bckg"
        />
</LinearLayout>
для GridView
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@drawable/rct"
     >
    
    <GridView 
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:id="@+id/gvp"
    />
    <GridView 
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:id="@+id/gvc"
    />
    <GridView 
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:id="@+id/gvf"
    />
</LinearLayout>
для кнопок
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" 
    android:id="@+id/bll"
    >
    
   <Button 
         android:layout_width="match_parent"
         android:layout_weight="1"
         android:layout_height="wrap_content"
         android:text="@string/go"
         android:onClick="onClick"
         android:id="@+id/bg"
         />
     <Button 
         android:layout_width="match_parent"
         android:layout_weight="1"
         android:layout_height="wrap_content"
         android:text="@string/went"
         android:onClick="onClick"
         android:id="@+id/bw"
         />
</LinearLayout>
И java
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
public class MainActivity extends Activity {
    private LayoutInflater         infliter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        infliter = LayoutInflater.from(this);
        initViewPager();
        addButton();
    }
    
    private void initViewPager(){
        LinearLayout ll = (LinearLayout)MainActivity.this.findViewById(R.id.ll);
        View v = (View)infliter.inflate(R.layout.padapter2, null);
        ViewPager vp = (ViewPager)v.findViewById(R.id.v4);
        List<View> lv = new ArrayList<View>();
        lv.add(setGridView(R.id.gvp));
        lv.add(setGridView(R.id.gvc));
        lv.add(setGridView(R.id.gvf));
        WPageAdapter wp = new WPageAdapter(lv);
        vp.setAdapter(wp);
        vp.setCurrentItem(1);
        View vv = (View)infliter.inflate(R.layout.button_item, null);
        ll.addView(v);
        ll.addView(vv);
        
        
    }
    
    private GridView setGridView(int id){
        View v = (View)infliter.inflate(R.layout.itemgv,null);
        GridView gv = (GridView)v.findViewById(id);
        gv.setAdapter(new WGrid(this));
        gv.setNumColumns(5);
        gv.setVerticalSpacing(5);
        
        gv.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                Toast.makeText(MainActivity.this, "" + position, Toast.LENGTH_SHORT).show();
            }
        });
        return gv;
    }
    
    private void addButton() {
        View v = (View)infliter.inflate(R.layout.button_item, null);
        LinearLayout ll = (LinearLayout)MainActivity.this.findViewById(R.id.ll);
        ll.addView(v);
    }
 
}
В адаптерах переопределены только обязательные методы
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.01.2013, 20:23     создание ViewPager #6
похоже ViewPager занимает всю активити, вот и не видно под ним ничего, ограничьте его размер.
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
10.01.2013, 20:59  [ТС]     создание ViewPager #7
так он по высоте ограничен
XML
1
2
3
4
 <android.support.v4.view.ViewPager
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        />
или этого не достаточно?
Вы были правы, можете объяснить почему не сработало ограничение
XML
1
android:layout_height="wrap_content"
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.01.2013, 23:21     создание ViewPager #8
wrap_content не накладывает никаких ограничение. wrap_content можно перевести как "возьми себе столько, сколько тебе нужно". match_parent - "возьми все что есть".
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
11.01.2013, 12:39  [ТС]     создание ViewPager #9
Интересно,я думал,что wrap_content-это, возьми себе столько сколько надо для размещения компонента.
Спасибо.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.01.2013, 20:32     создание ViewPager #10
Цитата Сообщение от lavan Посмотреть сообщение
я думал,что wrap_content-это, возьми себе столько сколько надо для размещения компонента.
чаще всего так и есть, но не всегда...
odradek
4 / 4 / 1
Регистрация: 15.05.2012
Сообщений: 63
18.06.2013, 12:36     создание ViewPager #11
у меня аналогичная ситуация.
если указывать вручную высоту viewpager'а - то все нормально, если же укаызвать wrap_content то viewpager занимает всю область.
но у меня динамически подгужается информация в textview и она может быть разной длинны.
как быть?
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
18.06.2013, 17:49  [ТС]     создание ViewPager #12
если textview подгружается в viewpager то добавить scrol. если нет,то размещайте viewpager самым последним
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.06.2013, 19:46     создание ViewPager #13
используйте weight
odradek
4 / 4 / 1
Регистрация: 15.05.2012
Сообщений: 63
18.06.2013, 21:21     создание ViewPager #14
Цитата Сообщение от lavan Посмотреть сообщение
если textview подгружается в viewpager то добавить scrol. если нет,то размещайте viewpager самым последним
последним - не вариант. нужно именно сверху.
на счет скрола - можно поподробней?
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
18.06.2013, 21:36  [ТС]     создание ViewPager #15
viewpager поддерживает скролинг,поэтому можно задать размер viewpager а если textview все не поместилось отработает скролинг
odradek
4 / 4 / 1
Регистрация: 15.05.2012
Сообщений: 63
19.06.2013, 13:13     создание ViewPager #16
можно ли пример кода?
просто обернуть мою разметку ScrollView?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2013, 17:39     создание ViewPager
Еще ссылки по теме:

Android Правильный ViewPager
ViewPager автодаводка Android
ViewPager setText Android
Android ViewPager и Tab
Android Повторное создание фрагмента внутри фрагмента ViewPager

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
19.06.2013, 17:39  [ТС]     создание ViewPager #17
XML
1
2
3
4
5
6
7
8
9
<ScrollView 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
  <YourLayout>
  <View1/>
 <View2/>
</YourLayout>
</ScrollView>
Yandex
Объявления
19.06.2013, 17:39     создание ViewPager
Ответ Создать тему
Опции темы

Текущее время: 19:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru