下面關(guān)于界面跳轉(zhuǎn)的例子來自于android學(xué)習(xí)手冊,如果想看實際運行的例子的話,請去下載,并且可以看源碼和文檔。android學(xué)習(xí)手冊包含9個章節(jié),108個例子,源碼文檔隨便看,例子都是可交互,可運行, 源碼采用android studio目錄結(jié)構(gòu),高亮顯示代碼,文檔都采用文檔結(jié)構(gòu)圖顯示,可以快速定位。360手機助手中下載,圖標上有貝殼

目前創(chuàng)新互聯(lián)已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、原陽網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
android使用,從一個Activity(界面)跳轉(zhuǎn)到另一個Activity時,需要使用到Intent來啟動Activity。在Intent使用時,分為顯式調(diào)用和隱式調(diào)用2類,顯式調(diào)用就是直接調(diào)用另一個Activity的class類,隱式調(diào)用需要通過調(diào)用另一個Activity的action 來啟動另一個Activity,詳細如下:
Intent在android中的定義為:public Intent (Context packageContext , Class? cls);
1、顯式調(diào)用---直接調(diào)用Activity的Class類
例,Activity1調(diào)用Activity2
Intent intent = new Intent(this , Activity2.class);
startActivity(intent);
2、隱式調(diào)用
Activity1隱式調(diào)用Activity2時需要在AndroidManifest.xml文件中配置Activity2的action和category,具體添加下面的代碼到Activity2的定義中
intent-filter
action android:name="myaction2"/
category android:name="android.intent.category.DEFAULT"/
category android:name="mycategory" /
/intent-filter
接著同樣使用intent來啟動Activity,代碼如下:
Intent intent = new Intent("myaction2");
startActivity(intent);
這樣就可以啟動Activity2
注:在使用intent隱式調(diào)用Activity時會遇到多個Activity的intent-filter中的action和category相同時,這時android會先彈出一個選擇界面的窗口,顯式要啟動的Activity列表,根據(jù)用戶的選擇來啟動Activity,如Activity2和Activity3的action和category相同
Activity android:name=".Activity2"
intent-filter
action android:name="myaction2"/
category android:name="android.intent.category.DEFAULT"/
category android:name="myCategory" /
/intent-filter
/Activity
Activity android:name=".Activity3"
intent-filter
action android:name="myaction2"/
category android:name="android.intent.category.DEFAULT"/
category android:name="myCategory" /
/intent-filter
/Activity
啟動Activity代碼如下:
Intent intent = new("action2");
intent.addCategory("myCategory");
startActivity(intent);
這時就會彈出Acvity的選擇窗口,選擇啟動activity2還是activity3
1、A跳轉(zhuǎn)到B,需要經(jīng)歷A的onPause,B的onCreate,onStart,onResume,所以在這幾個方法中不能做耗時的操作。
2、一進入頁面不可見的視圖可以用ViewStub做延遲加載。
3、網(wǎng)絡(luò)請求可以在加載完頁面控件后再進行。
4、慎用多進程。
5、初始化AnimationDrawable、TypedArray數(shù)組和Typeface會很耗時,并且AnimationDrawable特別耗內(nèi)存,一定要注意他們的初始化時機;
一、啟動android默認瀏覽器
在Android程序中我們可以通過發(fā)送隱式Intent來啟動系統(tǒng)默認的瀏覽器。如果手機本身安裝了多個瀏覽器而又沒有設(shè)置默認瀏覽器的話,系統(tǒng)將讓用戶選擇使用哪個瀏覽器來打開連接。關(guān)于Intent的更多內(nèi)容請參考《常用Intent》
示例1
Intent intent =newIntent();
? ? intent.setAction("android.intent.action.VIEW");
? ? Uri content_url =Uri.parse("");
? ? intent.setData(content_url);
? ? startActivity(intent);
這樣子,android就可以調(diào)用起手機默認的瀏覽器訪問。
二、啟動指定瀏覽器
在Android程序中我們可以通過發(fā)送顯式Intent來啟動指定的瀏覽器。
啟動Android原生瀏覽器
示例2
Intent intent =newIntent();? ? ? ?
? ? intent.setAction("android.intent.action.VIEW");? ?
? ? Uri content_url =Uri.parse("");?
? ? intent.setData(content_url);? ? ? ? ?
? ? intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");?
? ? startActivity(intent);
只要修改以intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");
中相應(yīng)的應(yīng)用程序packagename?和要啟動的activity即可啟動其他瀏覽器來
uc瀏覽器":"com.uc.browser", "com.uc.browser.ActivityUpdate“
opera瀏覽器:"com.opera.mini.android", "com.opera.mini.android.Browser"
qq瀏覽器:"com.tencent.mtt", "com.tencent.mtt.MainActivity"
進入墨刀界面,將需要進行交互動作的界面扔進墨刀中打開。
在左側(cè)左鍵選擇“鏈接區(qū)域”,然后拖動到界面中需要進行交互設(shè)計的按鈕位置。
位置確定之后,左鍵點擊區(qū)域旁邊的小按鈕,拖動到目標界面中。
進入預(yù)覽模式,點擊剛才設(shè)置的區(qū)域就能夠進行跳轉(zhuǎn)了。
舉例:有兩個activity FirstActivity、SecondActivity
跳轉(zhuǎn)實現(xiàn)方法:
1、第一種(帶傳參):
2、第二種:
3、第三種 com.example.yuan.e06_gridview是你的包名:
4、第四種 com.example.yuan.e06_gridview是你的包名:
5、第五種 com.yuan是你的文件夾路徑:
Android模塊化頁面跳轉(zhuǎn)Scheme
Github
通過注解實現(xiàn)Uri頁面跳轉(zhuǎn)
支持參數(shù)自動解析
使用場景:
1、應(yīng)用內(nèi)服務(wù)端下發(fā)uri進行頁面跳轉(zhuǎn)
2、通知欄點擊,攜帶uri進行頁面跳轉(zhuǎn)
3、其他應(yīng)用通過uri調(diào)起進行頁面跳轉(zhuǎn)
注:activity的注解格式:group/path
group為各個模塊的唯一字符串,不同模塊不可重復(fù)
接入:
使用姿勢:
根build.gradle
module依賴:
使用姿勢:
場景1:應(yīng)用內(nèi)服務(wù)端下發(fā)uri進行頁面跳轉(zhuǎn)
1、在需要支持uri跳轉(zhuǎn)的Activity增加注解@SchemePath("{隨意填,唯一字符串}")
2、跳轉(zhuǎn)事件
注:參數(shù)支持
uri支持參數(shù),如" scheme://ModuleA/Activity?data=1time=20200714hasData=true "
Activity的參數(shù)增加@SchemeExtra注解,如
場景2:通知欄點擊,攜帶uri進行頁面跳轉(zhuǎn)
1、應(yīng)用首頁Activity增加注解@SchemePath("{隨意填}")
2、application調(diào)用初始化
3、啟動頁,通知欄點擊入口
場景三:其他應(yīng)用通過uri調(diào)起進行頁面跳轉(zhuǎn)
1、注冊中轉(zhuǎn)activity
分享文章:頁面跳轉(zhuǎn)android,頁面跳轉(zhuǎn)的兩種方式分別是什么
分享路徑:http://chinadenli.net/article14/dsecege.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站維護、微信小程序、關(guān)鍵詞優(yōu)化、企業(yè)網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)