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