1. android平台中頁面切換時如果要用觸摸屏左右滑動,怎麼實現
左右滑動切換是通過viewPager來實現的,完整代碼查看附件。
ViewPager的數據是通過PageAdapter來裝載的:
1.調用adapter.notifyDataSetChanged(); 刷新控制項,但是要覆蓋PagerAdapter的getItemPosition方法,並返回return POSITION_NONE;
2.利用PagerAdapter的工作機制,就是PagerAdapter的執行順序,PagerAdapter作為ViewPager的適配器,無論ViewPager有多少頁,PagerAdapter在初始化時也只初始化開始的2個View,即調用2次instantiateItem方法。而接下來每當ViewPager滑動時,PagerAdapter都會調用destroyItem方法將距離該頁2個步幅以上的那個View銷毀,以此保證PagerAdapter最多隻管轄3個View,且當前View是3個中的中間一個,如果當前View缺少兩邊的View,那麼就instantiateItem,如里有超過2個步幅的就destroyItem。
3.每當Adapter調用instantiateItem時,運用View.setTag方法將該View標識。當需要更新這個View的數據時,通過調用ViewPager.findViewWithTag方法找到相應的View,然後更新View中的數據。
2. android中如何利用一個按鈕進行多個頁面的跳轉
莫過於你想要的就是這個按鈕在不同的狀態的時候啟動相應的ACTIVITY,那比如你要啟動4個頁面,你設置4個常量 ONE、TWO、Three、Four 在設置一個常量flag 在不同的情況下,定義flag的值等於ONE或TWO或Three或Four,然後再按鈕的響應事件中 做一個判斷 switch(falg) { case ONE: break;case Two: break;case Three: break;case Four: break;
}
3. 關於Android 頁面切換過慢或者卡頓
有時候app頁面切換過慢或者卡頓,體驗問題會嚴重影響用戶使用APP心情。所以針對這個我提一些自己再工作中的體會。
從一個界面FirstActivity跳轉到另外一個界面SecondActivity,兩個Activity的生命周期流程是這樣的
應用必須在走完FirstActivity的onPause方法後才會跑SecondActivity的onCreate方法,FirstActivity的onStop和onDestory方法不會影響到進入SecondActivity的速度。如果我們要優化從FirstActivity跳轉到SecondActivity的速度,需要從FristActivity的onPause和SecondActivity的onCreate、onStart和onResume方法入手。onStart方法通常乾的事情比較少,頁面之間跳轉慢主要是因為在FirstActivity的onPause和SecondActivity的onCreate、onResume方法耗時導致,這個過程需要執行的操作主要有:
除了Android明令禁止在UI線程中執行網路操作外,還有一些耗時的操作也不能在UI線程中執行,比如IO操作、耗時較長的邏輯操作(比如演算法)
可用如下方式來實現非同步任務
如果是在執行非同步任務後需要更新界面,優先考慮使用AsyncTask和Handler,它們提供了刷新UI的方案;如果是定時任務可以考慮使用Handler和Timer,TimerTask;如果是使用Thread和Timer,TimerTask,更新UI時可以通過執行當前Activity的runOnUiThread方法實現更新UI操作。
在優化過程中發現有的界面光是載入布局就需要500ms左右,再加上界面的初始化和上一個界面的狀態保存操作,頁面跳轉時會有嚴重的遲滯感,建議如下:
比如AnimationDrawable、TypedArray數組、Typeface、addView等,值得一提的是,初始化AnimationDrawable、TypedArray數組和Typeface會很耗時,並且AnimationDrawable特別耗內存,如果不是進入界面就需要使用,強烈建議在需要使用的地方再初始化。
從FirstActivity跳轉到SecondActivity,如果這兩個界面不屬於同一個進程,首次跳轉的時候會創建一個新的進程,創建進程是比較耗時的,比跳轉到同一進程內的新頁面耗時更多,如果不是必須要在應用內使用多進程,強烈建議不要在應用內使用多進程。
失敗是什麼?沒有什麼,只是更走近成功一步;成功是什麼?就是走過了所有通向失敗的路,只剩下一條路,那就是成功的路。
4. 安卓怎麼分屏雙開
如果您使用的是華為手機,以華為Mate 40手機為例:
一、開啟分屏:
1、打開某個應用後,在手機屏幕左側或右側,從外向內滑動屏幕並停頓,調出智慧多窗應用欄。
2、長按並拖拽應用欄中的應用圖標至屏幕,開啟分屏。
二、分屏互換:
長按分屏窗口頂部的橫條至分屏窗口縮小後,拖拽該窗口至另外一個分屏窗口。
三、退出分屏:
按住分屏中間線上的橫條或豎條拖動直至另外一個窗口消失。
部分應用不支持分屏顯示。
同一時間只能使用兩個分屏應用。
四、在分屏應用間快速拖拽
打開分屏應用後,可以直接在應用間拖拽圖片、文字或文檔。
1、拖拽圖片:例如,在編輯備忘錄時,同時打開文件管理並選中一張圖片,可將其拖拽至備忘錄編輯頁面。
2、拖拽文字:例如,在發送信息時,同時打開備忘錄長按並標選中需要文字,再次長按可將其拖拽至微信中。
3、拖拽文檔:例如,在編輯電子郵件時,同時打開文件管理選中一篇文檔,可將其拖拽至電子郵件。
部分應用不支持應用間拖拽。
五、添加、移動或移除分屏應用
1、添加應用:調出智慧多窗應用欄,點擊加號,點擊要添加的應用,點擊完成。
2、移動應用:調出智慧多窗應用欄,點擊加號,在應用欄中長按應用圖標並拖拽,可將其移動到應用欄任一位置,點擊完成。
3、移除應用:調出智慧多窗應用欄,點擊加號,在應用欄中點擊應用圖標右上角的減號移除應用,點擊完成。
六、分屏與懸浮窗相互切換
1、分屏切換為懸浮窗:手機豎屏時,長按分屏窗口頂部橫條向左或向右滑動可切換為懸浮窗;手機橫屏時,長按分屏窗口頂部橫條向下滑動可切換為懸浮窗。
2、懸浮窗切換為分屏:手機豎屏時,長按懸浮窗頂部橫條向上或向下拖動切換至分屏;手機橫屏時,長按懸浮窗頂部橫條向左或向右拖動切換至分屏。
七、打開單個應用的多窗口
您可以打開單個應用(如:郵件、備忘錄)的多個任務窗口,在多個任務窗口間拖拽圖片、文字或文檔。
部分應用程序不支持此功能,請以實際情況為准。
1、分屏打開單個應用的多任務窗口。
打開郵件應用的一個任務窗口。
在手機屏幕左側或右側,從外向內滑動屏幕並停頓,調出智慧多窗應用欄。
長按並拖拽應用欄中的郵件應用圖標至屏幕,分屏開啟郵件應用的多任務窗口。
2、在單個應用的多任務窗口間快速拖拽。
拖拽圖片:從一個郵件任務窗口選中一張圖片,可將其拖拽至另一個郵件任務窗口中。
拖拽文字:從一個郵件任務窗口長按並標選中需要文字,再次長按可將其拖拽至另一個郵件任務窗口中。
拖拽文檔:從一個郵件任務窗口選中一個文檔,可將其拖拽至另一個郵件任務窗口中。
八、關閉智慧多窗
智慧多窗功能默認開啟,若您想要關閉:
進入設置 > 輔助功能 > 智慧多窗 ,關閉智慧多窗應用欄。
5. Android窗口切換,有3個按鈕,每個按鈕切換到一個頁面,但每個頁面也要有這3個按鈕。
之前都是用tabhost的,後來由於tabhost的擴展性不太好,就有ActivityGroup;
現在4.0之後google,推薦用Fragment,之前的也能用;
用frgament,就是上面的是radioButton,下面界面是FrameLayout,內容用不同的Fragment填充;
具體用法,你隨便網路或者csdn上搜索一下Fragment或者FragmentActivity,有很多例子的