這裡出現的 tools:context 作用,網上講了很多,主要回答如下:
tools:context=」activity name」這一句不會被打包進apk。只是adt的layout editor在你當前的layout檔案裡面設定對應的渲染上下文,說明你當前的layout所在的渲染上下文是activity name對應的那個activity,如果這個activity在manifest檔案中設定了theme,那麼adt的layout editor會根據這個theme來渲染你當前的layout。就是說如果你設定的mainactivity設定了乙個theme.light(其他的也可以),那麼你在視覺化布局管理器裡面看到的背景阿控制項阿什麼的就應該是theme.light的樣子。僅用於給你看所見即所得的效果而已。
有的人看了會明白一些,有的人看了也不太清楚,我再追加幾句解釋:
拿乙個簡單 tools:text 舉個例子更形象些,方便進一步理解 tools:context
textview 採用了 android :text , 而 edittext中使用了 tools:text ,右邊layout 編輯器會顯示內容name , sample name 兩個 字型, 如果你執行**後編譯,生成apk 後,終端就只顯示name,不會顯示sample name這個字樣. 大家可以試試執行,看下效果就知道。。
( 比如我們在布局textview 中想要顯示一段文字時,以前使用android:text顯示,然後在編譯器中布局調整,最後完成後刪除android:text屬性。有了tools引數後,可以直接使用tools:text在預覽時顯示文字即可,省卻了上面刪除的麻煩,編譯後此tools:text 相當於注釋了。)
講到這裡,我們回去繼續理解:tools:context 屬性
1. tools:context=」activity name」這一句不會被打包進apk,
–> 理解:相當於這句被注釋了,編譯後不起任何作用.
2. 只是adt的layout editor(即為上面圖示右邊模擬器)在當前的layout檔案裡面設定對應的渲染上下文,當前的布局xml所在的渲染上下文是activity name對應的那個activity,如果這個activity在manifest檔案中設定了theme,那麼adt的layout editor會根據這個theme來渲染你當前的layout。就是說如果你設定的mainactivity設定了乙個theme.light(其他的也可以)。
–>理解:你加上了tools:context=」activity name」 ,這個xml 布局就是渲染指定activity , manifest檔案中設定了theme 的話, 上圖右邊模擬器theme 樣式也會跟著變化對應 theme。
總而言之, 這些tools 屬性主要針對的 上圖右邊那個模擬器 除錯時候顯示狀態,,編譯中不起作用的,
以上理解 希望對大家有進一步的幫助。
網路基礎的基礎
終端 鍵盤和顯示器 應有技術分類 ethnet token ring fddi 區域網 pstn isdn ddn frame relay x.25 都會網路 廣域網 層次 核心層 匯聚層 接入層 osi 開放網路互連 應用層 表示層 對話層 傳輸層 網路層 tcp ip 資料鏈路層 物理層 封裝 ...
彙編基礎的基礎
一 cup和記憶體的訪問 1 位址線,位址匯流排的寬度決定了cup的定址能力 2 資料線,資料匯流排的寬度決定了cup與其他器件進行資料傳送時的一次資料傳送量 3 控制線,控制匯流排的寬度決定了cup對系統中其他器件的控制能力 二 以8086cup十六位為例暫存器 ax bx cx dx si di...
基礎中的基礎
console.log 我是乙個字串 console.info 我是提示訊息 console.warn 我是警告訊息 console.error 我是錯誤資訊 console.count 統計次數 console.table 列印物件格式 console.dirxml 我是某個節點的html con...