當前位置:首頁 » 數據倉庫 » 配置activity時不能配置哪個屬性
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

配置activity時不能配置哪個屬性

發布時間: 2022-08-25 06:53:36

Ⅰ android的Activity控制項標題欄的屬性怎麼設置啊

Activity的標題欄,叫ActionBar,ActionBar位於Activity的頂部,可用來顯示activity的標題、Icon、Actions和一些用於交互的View。它也可被用於應用的導航。


ActionBar 標題欄常用屬性:

  1. showAsAction屬性用來定義每個Action是如何顯示的

  2. always表示永遠顯示在ActionBar中,如果屏幕空間不夠則無法顯示

  3. ifRoom表示屏幕空間夠的情況下顯示在ActionBar中,不夠的話就顯示在overflow中

  4. never則表示永遠顯示在overflow中

Ⅱ 安卓manifest文件配置activity時無法指定絕對路徑是為何

在Android中每個界面都是一個Activity,切換界面操作其實是多個不同Activity之間的實例化操作。在Android中Activity的啟動模式決定了Activity的啟動運行方式。
Android總Activity的啟動模式分為四種:

Activity啟動模式設置:

<activity android:name=".MainActivity" android:launchMode="standard" />

Activity的四種啟動模式:

1. standard

模式啟動模式,每次激活Activity時都會創建Activity,並放入任務棧中。

2. singleTop

如果在任務的棧頂正好存在該Activity的實例, 就重用該實例,否者就會創建新的實例並放入棧頂(即使棧中已經存在該Activity實例,只要不在棧頂,都會創建實例)。

3. singleTask

如果在棧中已經有該Activity的實例,就重用該實例(會調用實例的onNewIntent())。重用時,會讓該實例回到棧頂,因此在它上面的實例將會被移除棧。如果棧中不存在該實例,將會創建新的實例放入棧中。

4. singleInstance

在一個新棧中創建該Activity實例,並讓多個應用共享改棧中的該Activity實例。一旦改模式的Activity的實例存在於某個棧中,任何應用再激活改Activity時都會重用該棧中的實例,其效果相當於多個應用程序共享一個應用,不管誰激活該Activity都會進入同一個應用中。

其中standard是系統默認的啟動模式。

Ⅲ Android 深入探討sigleTask和singletop的區別

區別就是設置singleTop屬性的Activity啟動時,如果它在棧頂,那就不創建這個Activity的實例,否則就創建一個新的實例
設置singleTask屬性的Activity,後退棧里只能有一個實例,如果啟動時棧中已有它的實例,會把這個Activity放到棧頂,intent傳給它,同時結束掉棧中原來在它下面的Activity,否則就創建一個新的實例

這么說太繞口,舉個栗子
A和B是兩個Activity,當前後退棧中的順序A→B(前面是棧底後面是棧頂)

如果A什麼都沒設置(默認的啟動方式Standard)
啟動A,棧中狀態變為A→B→A
啟動A,棧中狀態變為A→B→A→A
...

如果A設置了SingleTop
啟動A,棧中順序變為A→B→A,重新創建了一個A的實例
如果這時再啟動A,棧中順序還是A→B→A,啟動A的intent將傳給棧頂的A的實例,被傳給A的onNewIntent方法
也就是A在棧頂的時候,不會再創建A的實例,否則就創建新實例

如果A設置了SingleTask
啟動A,後退棧中就只有A了,因為棧中已經有了一個A的實例,那麼就把A放到棧頂,同時把原來在A上面的B給結束掉
也就是不論A在棧中什麼位置都不會再創建A的實例,只是把這個實例放到棧頂,同時結束掉原來在它之上的所有Activity

Ⅳ Activity的啟動模式有哪幾種,分別用於什麼

剛好最近又梳理了一下,結合我的實際使用場景回答一下= =

有四種啟動模式,需要知道的是activity是交由activity棧(任務棧)管理的

standard:會在啟動時創建一個新實例入棧,所以每次打開都是一個新的界面

場景:默認模式,一般的activity用這個就好

singleTop:當啟動activity時,有相同的activity在前台與用戶交互,就復用這個activity,回調onNewIntent()方法,避免棧頂的activity被重復的創建;如果沒在棧頂,依然會創建新的實例加在棧頂

場景:這個主要針對重復打開的情況,比如你點擊通知欄,跳轉到消息中心,如果此時消息中心已經打開,就不會重新打開新的界面,合乎邏輯

singleTask:類似singleTop,也是避免重復創建,唯一不同的是,當啟動activity時,有相同的activity在棧內,會復用此activity,回調onIntent(),並清空此activity之上所有activity

場景:一般用於程序主界面,利用清空activity的特性,比如你在應用內,打開了多個界面,觸發了某個操作後都需要跳轉到首頁,設置了singleTask之後,就直接啟動主頁就好,會把之前打開的全部關掉(免得你手動一個一個關閉activity)

singleInstance:顧名思義,單一實例,整個手機操作系統裡面只有一個實例存在。不同的應用去打開這個activity 共享公用的同一個activity

場景:常見於系統呼叫來電界面,每個應用打開不會重新創建新的該撥打界面。這種模式比較少用,除非你確定需要使該Activity只有一個實例

最後,上面介紹是在默認沒有指定taskAffinity的情況下(即包名),具體想要更深入或者實現更復雜的場景,請結合taskAffinty和Intent Flag具體分析,在此就不介紹了。

以上。

Ⅳ Android UI開發中,設置Activity的什麼屬性可以使Activity顯示為對話框樣式.

將activity設置成對話框樣式,只需在activity屬性裡面增加下面一句代碼:

Ⅵ Android開發--activity屬性有什麼,弄了半天

Activity是Android組件中最基本也是最為常見用的四大組件之一,在 android開發中
,運用極為廣泛,作為初學者需要熟練掌握,下例為Activity屬性常用設置。

android:allowTaskReparenting
是否允許activity更換從屬的任務,比如從簡訊息任務 切換到瀏覽器任務。

android:alwaysRetainTaskState
是否保留狀態不變, 比如切換回home, 再從新打開,
activity處於最後的狀態

android:clearTaskOnLanunch
比如 P 是 activity, Q 是被P 觸發的 activity, 然後返回Home,
從新啟動 P, 是否顯示 Q

android:configChanges
當配置list發生修改時, 是否調用 onConfigurationChanged() 方法 比如
"locale|navigation|orientation".

android:enabled
activity 是否可以被實例化,

android:excludeFromRecents
是否可被顯示在最近打開的activity列表裡

android:exported
是否允許activity被其它程序調用

android:finishOnTaskLaunch
是否關閉已打開的activity當用戶重新啟動這個任務的時候

android.icon

android:label

android:launchMode
activity啟動方式, "standard" "singleTop" "singleTask"
"singleInstance"
其中前兩個為一組, 後兩個為一組

android:multiprocess
允許多進程

android:name
activity的類名, 必須指定

androidnHistory
是否需要移除這個activity當用戶切換到其他屏幕時。 這個屬性是 API level 3 中引入的

android:permission

android:process

個activity運行時所在的進程名,所有程序組件運行在應用程序默認的進程中,這個進程名跟應用程序的包名一致。中的元素process屬性能夠為所有組件設定一個新的默認值。但是任何組件都可以覆蓋這個默認值,允許你將你的程序放在多進程中運行。
如果這個屬性被分配的名字以:開頭,當這個activity運行時, 一個新的專屬於這個程序的進程將會被創建。
如果這個進程名以小寫字母開頭,這個activity將會運行在全局的進程中,被它的許可所提供。

Ⅶ activity設置singleTop無效

如此這般配置即可。在AndroidManifest.xml文件中 這樣設置就好了。在AndroidManifest.xml中的標簽中可以配置android:launchMode屬性,用來控制Actvity的啟動模式在Android系統中我們創建的Acitivity是以棧的形式呈現的,每個應用都有獨立的任務棧Task.一個棧中可以有多個Activity.啟動另一個應用的Activity,會把那個應用的棧也移到前面,(棧裡面可能還有這個應用的其它的Activity)standard:每次調用startActivity()啟動時都會創建一個新的Activity放在棧頂 注:默認都是這個模式singleTop:啟動Activity時,指定Activity不在棧頂就創建,如在棧頂,則不再創建 注:不會出現兩個相同的Activity相鄰singleTask:如果啟動的Activity不存在就創建Activity,如果存在直接跳轉到指定的Activity所在位置 注:在其上面的Activity會被移出棧,也就是一個棧中不能有重復的ActivitysingleInstance:如果啟動的Activity不存在就創建一個Activity同時創建一個棧,如果存在就將指定的Activity存在的棧移動到棧頂 注:表示這個Activity只能存在於一個獨立的任務棧中,同應用的其它Activity與其無關. 查看更多答案>>