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

Перелистывание экранов - Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 123, средняя оценка - 4.86
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
07.05.2013, 22:26     Перелистывание экранов #1
Если кто пользовался официальным приложение для ВК под андройд, то в разделе "новости" если провести пальцем по экрану,то от выползает как бы его продолжение (такой эффект встречается довольно часто в множестве приложений)
существует ли какой - либо контейнер для этого, разметка или это все делается иначе?
подскажите как
надо не просто сменить экран ( функцией setContentView, например) ,а именно перелистыванием
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.05.2013, 22:56     Перелистывание экранов #2
http://developer.android.com/trainin...een-slide.html
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
14.05.2013, 16:29  [ТС]     Перелистывание экранов #3
Помогите, пожалуйста, собрать пример ( файлы даны в примере, насколько я понял для сбора 1 вида анимации, простого перелистывания, достаточно 4 файлов:
src/ScreenSlidePageFragment.java
src/ScreenSlideActivity.java
layout/activity_screen_slide.xml
layout/fragment_screen_slide_page.xml
)
скачал их, закинул файлы value в тестовый проект
но куча ошибок ..
когда читал вроде понятно было)

могли бы вы скинуть минимальный рабочий проект, содержащий просто 2 окна, которые перелистывались бы, все лишнее удалив..

Добавлено через 6 минут
просто там столько всего лишнего..аж страшно
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
14.05.2013, 18:07     Перелистывание экранов #4
Цитата Сообщение от spydark91 Посмотреть сообщение
просто там столько всего лишнего..аж страшно
Вечерком скину простой проект, если ещё будет актуально.
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
14.05.2013, 20:54  [ТС]     Перелистывание экранов #5
жду с нетерпением)
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
14.05.2013, 21:32     Перелистывание экранов #6
Если правильно понял, что вы хотите, то вот
Вложения
Тип файла: rar Slide.rar (987.7 Кб, 406 просмотров)
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
14.05.2013, 22:56  [ТС]     Перелистывание экранов #7
спасибо, то что надо

Добавлено через 14 минут
теперь вопросы)
вопрос первый, как можно избавится от заголовка?)
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
14.05.2013, 22:58  [ТС]     Перелистывание экранов #8
тобишь от всей синей части)
Миниатюры
Перелистывание экранов  
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.05.2013, 23:08     Перелистывание экранов #9
Цитата Сообщение от spydark91 Посмотреть сообщение
как можно избавится от заголовка?)
убрав PagerTabStrip.
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
14.05.2013, 23:09  [ТС]     Перелистывание экранов #10
точно..
как заставить из кода сменить фрагмент?
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
14.05.2013, 23:15     Перелистывание экранов #11
Чтобы программно перелистнуть страницу ViewPager используйте метод setCurrentItem
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
15.05.2013, 00:15  [ТС]     Перелистывание экранов #12
Java
1
  mViewPager.setCurrentItem(0);
понял

спасибо за код и пояснения

Добавлено через 56 минут
и вопросик в догоночку) как запускать это фрагментальную активность..
пробую так

Registration_Activity
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//cut
 
import com.example.Registration_Fragment1;
import com.example.Registration_Fragment2;
import com.example.Registration_Fragment3;
// cut
 
public class Registration_Activity extends FragmentActivity {
    PagerAdapter pagerAdapter;
    private ViewPager mViewPager;
    
// cut
    }
    
    public class TitleAdapter extends FragmentPagerAdapter {        
// cut
    }
 
}
Main_Activity
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
public class Main_Activity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//cut
 
            reg.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Main_Activity.this, Registration_Activity.class);
                    startActivity(intent);
                    
                }
            });
            
 
    
    }
 
 
 
    
}
так вылетает..

Добавлено через 2 минуты
и надо ли что-либо насчет нее в манифесте писать ?
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 00:17     Перелистывание экранов #13
да, каждая активити прописывается в манифесте.
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
15.05.2013, 00:19     Перелистывание экранов #14
Если я вас правильно понял, то вот пример как у меня запускается с Меню
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Override
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {                
         case R.id.menu_help:           
             Intent intent = new Intent(this, Activity.class); // с фрагментами
             startActivity(intent);
             return true;
         case R.id.menu_exit:
             finish();
             return true;
         default:
             return super.onOptionsItemSelected(item);
         }
     }
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
15.05.2013, 00:23  [ТС]     Перелистывание экранов #15
теперь все ОК
еще раз спасибо

Добавлено через 29 секунд
у меня все хорошо было, просто в манифесте не хватало записи
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 00:24     Перелистывание экранов #16
Цитата Сообщение от spydark91 Посмотреть сообщение
просто в манифесте не хватало записи
какой?
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
15.05.2013, 00:27  [ТС]     Перелистывание экранов #17
вот такой
XML
1
2
3
4
5
6
7
8
9
<activity
            android:name="com.example.Registration_Activity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 00:31     Перелистывание экранов #18
а, ну да, все правильно, как я говорил каждая активити прописывается в манифесте, но intent-filter который вы здесь написали помещайте только в главную(стартовую) активити.
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
15.05.2013, 22:37  [ТС]     Перелистывание экранов #19
а как запретить перелистывание экрана пальцем?

Добавлено через 3 часа 50 минут
а как мне передать данные их Registration_Fragment1 в Registration_Activity
Registration_Activity
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
import com.example.Registration_Fragment1;
import com.example.Registration_Fragment2;
import com.example.Registration_Fragment3;
// cut
 
public class Registration_Activity extends FragmentActivity {
    PagerAdapter pagerAdapter;
    private ViewPager mViewPager;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.registration_activity);
        
        mViewPager = (ViewPager) findViewById(R.id.pager);      
        TitleAdapter titleAdapter = new TitleAdapter(getSupportFragmentManager());
        mViewPager.setAdapter(titleAdapter);
        mViewPager.setCurrentItem(0);
    }
    
    public class TitleAdapter extends FragmentPagerAdapter {        
        private final Fragment frags[] = new Fragment[3];    
        public TitleAdapter(FragmentManager fm) {
            super(fm);
            frags[0] = new Registration_Fragment1();
            frags[1] = new Registration_Fragment2();
            frags[2] = new Registration_Fragment3();
        }
     
        @Override
        public Fragment getItem(int position) {
            return frags[position];
        }
     
        @Override
        public int getCount() {
            return frags.length;
        }
    }
 
}
Registration_Fragment1
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import android.os.Bundle;
import android.support.v4.app.Fragment;
// cut
 
public class Registration_Fragment1 extends Fragment {  
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {      
        
        
        View myView = inflater.inflate(R.layout.registration_screen_1, container, false);   
        
// cut
     
        return myView;
    }
    
 
    
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2013, 22:55     Перелистывание экранов
Еще ссылки по теме:

Android Создание экранов
Поясните про поддержку разных экранов Android
Генерация цветовых экранов Android
Dimens для разных экранов Android
Как реализовать смену экранов жестами Basic4Android

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

Или воспользуйтесь поиском по форуму:
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 22:55     Перелистывание экранов #20
Цитата Сообщение от spydark91 Посмотреть сообщение
а как мне передать данные их Registration_Fragment1 в Registration_Activity
в конструкторе можете передать инстанс активити а потом вызывать его методы.
Yandex
Объявления
15.05.2013, 22:55     Перелистывание экранов
Ответ Создать тему
Опции темы

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