View的一些小知識

2021-07-09 20:41:32 字數 1131 閱讀 4947

1、layoutinflater view渲染器,用於渲染各種布局並且把它載入到你的主布局中,

主要方法layoutinflater.inflate(resourceid, root);

內部邏輯是使用android提供的pull解析方式來解析布局檔案的。解析出來後通過反射方法來建立解析出來的控制項。

2、兩個屬性,layout_height和layout_width 是用於設定控制項在某乙個布局中的寬和高,而不是設定控制項本身的大小。換句話說如果控制項沒有      被新增到某個布局中他設定layout_height和layout_width是沒有效果的。

3、view時間的傳遞,view的事件是乙個乙個傳遞,先傳遞down事件在傳遞move事件,最後傳遞up事件,換言之,只有在down事件被銷毀       後move才會觸發,move被銷毀了才會觸發up事件,傳遞方式之前在乙個大神的博文中看到乙個非常生動的比喻,拿來說下也做個筆記防止以後忘了,比喻是這樣的

1、人物:省長,市長,鎮長,村長,農民。

down事件 省長說要吃魚 --安排市長做 --市長安排鎮長做-----鎮長安排村長做-----村長叫農民做 ---農民已經不能下傳,就只能自己              做,農民做啊做啊做不出來了,反饋村長,村長說太沒用了,那就自己做發現自己也不會做,反饋鎮長,鎮長說村長太沒用了,那就自         己做,鎮長做啊做啊做出來了(down事件已經被消耗了),反饋給市長,市長說不錯哦,下次有事還找你,市長反饋給省長,省長說           不錯啊下次有事還找你。

move事件,省長說要吃饅頭--安排個市長----市長安排給鎮長   ----鎮長心裡想上次讓你做的事情你都做不好這次就不找村長了自己做,鎮長做啊做啊做出來了(mov事件已經銷毀),反饋給市長-市長反饋給省長。

up事件, 省長說要吃包子。。。。。大概流程就跟move事件一樣的

這個比喻非常的生動有沒有,用相對專業一點的語言就是,如果你的view沒有響應down事件那麼後面的move和up事件都不會傳到你         這了。這也道出為什麼在down事件中一定要返回true不然你後面的move和up事件都不會響應。

4、getrawx(),getrawy()和getx(),gety()的區別,getrawx(),getrawy()是相對於螢幕的原點的距離,而getx(),gety()是相對於控制項左上方的點的距離。

一些小知識

1.答 int elev 10 0.5 10 3答 arctoolbox中有直接的工具!data management tools features feature to polygon 4如何用arcgis實現指定範圍的dem水平切面 主要是想實現dem和水面結合的三維效果 但如何計算水面範圍 答...

QProcess一些小知識

1.啟動外部程式的兩種方式 1 一體式 void start 外部程式啟動後,將隨主程式的退出而退出 2 分離式 void startdetached 外部程式啟動後,當主程式退出時並不退出。而是繼續執行。2.當程式路徑中含有空格的時候,特別是windows系統該程式路徑會無法被識別。解決方法是將程...

Oracle一些小知識

1 select from table name for update 和 select t.t.rowid from table name t的區別 二者都可以編輯表資料,但是前者會鎖表,後者則不會。原理且不深究,當我們修改某一行資料時,如果不想鎖表就是用後者。2 邏輯判斷 select 1 fr...