網站首頁 編程語言 正文
本文實例為大家分享了Android實現歡迎滑動頁面的具體代碼,供大家參考,具體內容如下
一、效果圖
二、源碼
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
/**
?* 滑動頁面
?*
?* @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) {
? ? ? ? //頁面的跳轉
? ? ? ? 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());
? ? ? ? //監聽ViewPager滑動效果
? ? ? ? pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
? ? ? ? ? ? //頁卡被選中的方法
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onPageSelected(int arg0) {
? ? ? ? ? ? ? ? //如果是第三個頁面
? ? ? ? ? ? ? ? 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 {
? ? ? ? //計算需要多少item顯示
? ? ? ? @Override
? ? ? ? public int getCount() {
? ? ? ? ? ? return list.size();
? ? ? ? }
? ? ? ? @Override
? ? ? ? public boolean isViewFromObject(View arg0, Object arg1) {
? ? ? ? ? ? return arg0 == arg1;
? ? ? ? }
? ? ? ? //初始化item實例方法
? ? ? ? @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的方法,因為此方法并不是使用此方法
//?? ??? ??? ?super.destroyItem(container, position, object);
? ? ? ? ? ? container.removeView(list.get(position));
? ? ? ? }
? ? }
}
原文鏈接:https://blog.csdn.net/chenliguan/article/details/49622397
相關推薦
- 2022-10-24 Django使用Redis進行緩存詳細步驟_Redis
- 2023-05-26 keras.layers.Conv2D()函數參數用法及說明_python
- 2022-08-15 利用calc函數實現簡單的自適應
- 2021-12-07 C#?微信支付回調驗簽處理的實現_C#教程
- 2024-01-31 成功解決Unable to negotiate with 182.92.119.208 port 2
- 2022-05-25 Python小游戲實現實例之接蘋果_python
- 2022-08-15 Property or field ‘xxx‘ cannot be found on object
- 2022-09-06 Django的restframework接口框架自定義返回數據格式的示例詳解_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支