網(wǎng)站首頁 編程語言 正文
本文實(shí)例為大家分享了Android實(shí)現(xiàn)歡迎滑動(dòng)頁面的具體代碼,供大家參考,具體內(nèi)容如下
一、效果圖
二、源碼
1.activity_welcome_guide.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ? ? android:layout_width="match_parent" ? ? android:layout_height="match_parent" ? ? android:orientation="vertical" > ? ? <android.support.v4.view.ViewPager ? ? ? ? android:id="@+id/welcome_pager" ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="match_parent" /> ? ? <Button ? ? ? ? android:id="@+id/welcome_guide_btn" ? ? ? ? android:layout_width="wrap_content" ? ? ? ? android:layout_height="wrap_content" ? ? ? ? android:layout_alignParentBottom="true" ? ? ? ? android:layout_centerHorizontal="true" ? ? ? ? android:layout_marginBottom="80dp" ? ? ? ? android:background="@mipmap/guide_button" ? ? ? ? android:paddingLeft="30dp" ? ? ? ? android:paddingRight="30dp" ? ? ? ? android:visibility="gone" /> </RelativeLayout>
2.WelcomeGuideActivity.java
/**
?* 滑動(dòng)頁面
?*
?* @author Guan
?* @file com.guan.dianping.activity
?* @date 2015/11/3
?* @Version 1.0
?*/
public class WelcomeGuideActivity extends FrameActivity {
? ? @ViewInject(R.id.welcome_guide_btn)
? ? private Button btn;
? ? @ViewInject(R.id.welcome_pager)
? ? private ViewPager pager;
? ? private List<View> list;
? ? @Override
? ? protected void onCreate(Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.activity_welcome_guide);
? ? ? ? ViewUtils.inject(this);
? ? ? ? init();
? ? ? ? initViewPager();
? ? }
? ? @OnClick(R.id.welcome_guide_btn)
? ? public void click(View view) {
? ? ? ? //頁面的跳轉(zhuǎn)
? ? ? ? startActivity(new Intent(getBaseContext(), MainActivity.class));
? ? ? ? finish();
? ? }
? ? //初始化
? ? public void init() {
?? ? ? ?list = new ArrayList<View>();
? ? }
? ??
? ? //初始化ViewPager的方法
? ? public void initViewPager() {
? ? ? ? ImageView iv1 = new ImageView(this);
? ? ? ? iv1.setImageResource(R.mipmap.guide_01);
? ? ? ? ImageView iv2 = new ImageView(this);
? ? ? ? iv2.setImageResource(R.mipmap.guide_02);
? ? ? ? ImageView iv3 = new ImageView(this);
? ? ? ? iv3.setImageResource(R.mipmap.guide_03);
? ? ? ? list.add(iv1);
? ? ? ? list.add(iv2);
? ? ? ? list.add(iv3);
? ? ? ??
? ? ? ? pager.setAdapter(new MyPagerAdapter());
? ? ? ? //監(jiān)聽ViewPager滑動(dòng)效果
? ? ? ? pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
? ? ? ? ? ? //頁卡被選中的方法
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onPageSelected(int arg0) {
? ? ? ? ? ? ? ? //如果是第三個(gè)頁面
? ? ? ? ? ? ? ? if (arg0 == 2) {
? ? ? ? ? ? ? ? ? ? btn.setVisibility(View.VISIBLE);
? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? btn.setVisibility(View.GONE);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onPageScrolled(int arg0, float arg1, int arg2) {
? ? ? ? ? ? }
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onPageScrollStateChanged(int arg0) {
? ? ? ? ? ? }
? ? ? ? });
? ? }
? ? //定義ViewPager的適配器
? ? class MyPagerAdapter extends PagerAdapter {
? ? ? ? //計(jì)算需要多少item顯示
? ? ? ? @Override
? ? ? ? public int getCount() {
? ? ? ? ? ? return list.size();
? ? ? ? }
? ? ? ? @Override
? ? ? ? public boolean isViewFromObject(View arg0, Object arg1) {
? ? ? ? ? ? return arg0 == arg1;
? ? ? ? }
? ? ? ? //初始化item實(shí)例方法
? ? ? ? @Override
? ? ? ? public Object instantiateItem(ViewGroup container, int position) {
? ? ? ? ? ? container.addView(list.get(position));
? ? ? ? ? ? return list.get(position);
? ? ? ? }
? ? ? ? //item銷毀的方法
? ? ? ? @Override
? ? ? ? public void destroyItem(ViewGroup container, int position, Object object) {
? ? ? ? ? ? // 注銷父類銷毀item的方法,因?yàn)榇朔椒ú⒉皇鞘褂么朔椒?
//?? ??? ??? ?super.destroyItem(container, position, object);
? ? ? ? ? ? container.removeView(list.get(position));
? ? ? ? }
? ? }
}
原文鏈接:https://blog.csdn.net/chenliguan/article/details/49622397
相關(guān)推薦
- 2022-04-20 Android實(shí)現(xiàn)左側(cè)滑動(dòng)菜單_Android
- 2023-07-26 webpack原理之開發(fā)第一個(gè)loader
- 2022-05-13 當(dāng)你敲完Hello World后的第一步——C語言
- 2022-10-14 sklearn.linear_model.Perceptron詳解
- 2022-08-15 linux交叉編譯依賴包
- 2022-08-03 C++編程語言中賦值運(yùn)算符重載函數(shù)(operator=)的使用_C 語言
- 2023-04-12 C#?DataGridView行列轉(zhuǎn)換的具體實(shí)現(xiàn)_python
- 2022-08-27 C++?Thread實(shí)現(xiàn)簡(jiǎn)單的socket多線程通信_(tái)C 語言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支