1. 程式人生 > >Android 使用ViewPager+Activity(轉化為View)實現頁面滑動

Android 使用ViewPager+Activity(轉化為View)實現頁面滑動

因為每個頁面都有對應的Activity,所以在此就不展示所有的程式碼了,只展示關鍵的程式碼:

package com.example.android08_zhangkai;

import android.app.Activity;
import android.app.LocalActivityManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrator on 2017/6/12 0012.
 */

public class ViewPagerActivity2 extends AppCompatActivity {
    private List<View> views=new ArrayList<>();
    private LocalActivityManager manager;
    private ViewPager vp_view_page_image;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view_pager);

        vp_view_page_image = (ViewPager) findViewById(R.id.vp_view_page_image);

        manager = new LocalActivityManager(this,true);
        manager.dispatchCreate(savedInstanceState);//必須寫上這一行程式碼,不然會報錯

        Intent intentItem = new Intent(getApplicationContext(),ItemActivity.class);//這個類的第一個引數是上下文,第二個引數是你需要轉化的Activity
        views.add(manager.startActivity("ItemActivity",intentItem).getDecorView());//將Activity轉化為View然後放入View集合
        Intent intentExpandable =new Intent(getApplicationContext(),ExpandableActivity.class);
        views.add(manager.startActivity("ExpandableActivity",intentExpandable).getDecorView());
        vp_view_page_image.setAdapter(new MyAdapter());
    }


    class MyAdapter extends PagerAdapter {

        @Override
        public int getCount() {
            return views.size();
        }

        @Override
        public boolean isViewFromObject(View view, Object object) {
            return view==object;
        }

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            View v=views.get(position);
            container.addView(v);

            return v;
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            View v=views.get(position);
            container.removeView(v);
        }


    }
}


另外再提一下:

假如我們只要將佈局檔案轉化為View,不需要將Activity轉化為View,可以使用以下方法:

View iv=getLayoutInflater().inflate(R.layout.relativelayout,null);


相關推薦

Android 使用ViewPager+Activity(化為View)實現頁面滑動

因為每個頁面都有對應的Activity,所以在此就不展示所有的程式碼了,只展示關鍵的程式碼: package com.example.android08_zhangkai; import android.app.Activity; import android.app

AndroidActivity化為DialogActivity

轉載地址:http://blog.csdn.net/lovexjyong/article/details/17021319 1.在style檔案中定義樣式:    <style name="DialogTransparent" parent="@Android:

Android EditText彈出軟鍵盤實現頁面標題頭不動,軟鍵盤彈出在編輯框下面

為了實現EditText編輯的時候彈出軟鍵盤標題頭不動,底部編輯框上移,想了好多種方法,也百度,問同事每種辦法都有問題,在這總結一下,希望能幫助到大家。 上圖看下效果: 可以看到彈出鍵盤的時候,只有EditText在軟鍵盤上面,還有一個藍色點,這個隨後再說。 用Relative

】ehcache實現頁面整體快取和頁面區域性快取

ehcache實現頁面整體快取和頁面區域性快取 之前寫過spring cache和ehcache的基本介紹和註解實現快取管理,今天記錄下web專案的頁面快取技術。   頁面快取是否有必要?。      這樣說吧,幾乎所有的網站的首頁都

RadioGroup--RadioButton結合Viewpager實現頁面滑動

  先上圖:   首先是Activity佈局   <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.andro

android: Web跳到app指定頁面並傳遞引數

下面將實現 Web跳轉到app指定頁面並傳遞引數 總結 先看效果圖: h5頁面程式碼: <!doctype html> <html> <head> <meta charset="utf-8"> &l

Android JNI jint化為jstring

jstring Java_Package_MyTester_NMethod(JNIEnv*env, jobject obj, jint num){char buf[64]; sprintf(bu

Android基礎知識】使用ViewFlipper實現頁面左右滑動

說到android的左右滑動效果我們可以說是在每個應用上面都可以看到這樣的效果,不管是微博,還是QQ等。實現左右滑動的方式很多,有ViewPaer(不過這個和需要android-support-v4.jar的支援),自定義實現Viewgroup,gallery等都可以達到這

Android中使用自定義View實現shape圖形繪製

概述 之前曾寫過一篇文章介紹了Android中drawable使用Shape資源,通過定義drawable中的shape資源能夠繪製簡單的圖形效果,如矩形,橢圓形,線形和圓環等。後來我在專案中正好遇到這樣一個需求,要在特定的位置上顯示一條垂直的虛線。正當我胸有

Android中圖片化為bitmap

圖片檔案轉為Bitmap物件 String filePath="c:/01.jpg"; Bitmap bitmap=BitmapFactory.decodeFile(filePath); 如果圖片過大,可能導致Bitmap物件裝不下圖片 解決辦法: String filePath="c:/01.jpg"; B

vue中使用better-scroll實現頁面滑動

1、安裝better-scroll npm install--save better-scroll 2、在組價中引用 import BScroll from 'better-scroll' 3、建立滾動 new BScroll(Dom元素) 這裡的Dom元素可以傳

Android】自定義控制元件實現滑動的開關(switch)

介紹 昨天晚上寫了一個Android的滑動開關, 即SlideSwitch。效果如下: 實現 實現的思路其實很簡單,監聽控制元件上的touch事件,並不斷重新整理,讓滑塊在手指的位置上繪出,達到滑塊跟著手指滑動的顯示效果。 先看一下程式碼

View實現彈性滑動

實現方式 一、Scroller Scroller典型的使用方法: Scroller mScroller = new Scroller(mContent); private void smoothScrollerTo(int destX, int destY

android 佈局中某一個View 在scroll滑動的時候吸附在頂部

第一個要重寫scroll,要提供滑動監聽的接口出來:                                                                                    package com.dksj.suctiontop

AndroidActivity屏幕切換動畫左右滑動切換

ant 段子 err 人工智 pbo ref idea 參照物 board 在Android開發過程中,經常會碰到Activity之間的切換效果的問題,下面介紹一下如何實現左右滑動的切換效果,首先了解一下Activity切換的實現,從Android2.0開始在Activ

Android Studio 使用Intent實現頁面的跳(帶參數)

col xtra ima alt main 都是 img mage android 不管是在APP,還是在網站中,頁面之間的跳轉都是很常見的,本文主要講一下在APP中,如何通過Intent實現頁面的跳轉。 不帶參數: 寫在MainActivity頁面的代碼: 1 In

Android 使用ActivityOptions實現Activity場動畫

之前一直都是用這種方式實現Activity的轉場動畫: // MainActivity overridePendingTransition(enterAnim, exitAnim); 從Android5.0之後,Google提供了一種新的方式來實現:ActivityOptions。

自定義View實現圓形進度條跳頁面

效果: //首先在values資料夾下建立一個attrs.xml: ?xml version=“1.0” encoding=“utf-8”?> //佈局: <?xml version="1.0" encoding="utf-8"?>

Android中使用Intent實現一般頁面和帶引數頁面

一、Intent介紹 Intent的理解       Intent, 直譯為意圖, 也就是你想要做什麼或想要去哪?       Intent是Activity, Service和BroadcastReceiver這三個應用元

Android stdio 學習之 Intent 類(啟動外部瀏覽器或實現頁面元件跳

首先 1.確保已經安裝好了Android stdio 環境  2.瞭解Intent類是什麼 詳情可檢視網址:https://developer.android.com/guide/components/intents-filters 說白了,Intent就是一個捆綁各個