最近做的專案中要求兩個內容不同的textview做button,每次按照最長的那個text為基準調整button的長度。(這些textview以乙個9png的為背景,所以會跟著內容的長度自己變長寬)
要實現這個功能,在xml顯然不大好做,那麼就要放到**裡面去完成。
大體思路:
量出兩個button的長度,誰長用誰的為基準,再重新設定寬度。
遇到的難點:
本來是想要在介面以啟動的時候就設定好寬度的。但是發現在onresume裡面其實是無法獲取控制項的寬度的。getwidth始終為0。
解決方案:
如果想要在介面顯示出來之前就獲得textview的寬度,請使用如下方法:
msettingwidth = settingtxt.getpaint().measuretext(getstring(r.string.customize))
+ getresources().getdisplaymetrics().density*9;
其中,getpaint().measuretext(getstring(「******」) 這句話的功能是,根據字串「***xx」為準,測量用這個textview顯示這段話需要多長的長度。可以看出其實這根本與這個控制項有沒有顯示出來沒有任何關係,因此使用這句話在onresume裡面呼叫的話,就可以正確的測量出字的寬度。最後
getresources().getdisplaymetrics().
density
*9 這句話是因為這個控制項設定了乙個9dp的左間距。如果沒有間距的話這個長度是不用算的。通過這種方式就可以正確的量出乙個textview到底占用了多寬畫素。解決了這個問題,後面的步驟迎刃而解,具體實現如下:
if(msettingwidth==0||mbackgroudwidth==0)
if(msettingwidth>mbackgroudwidth)else
這樣一旦該應用已啟動,使用者獲得焦點後,這兩個控制項就會一直長度一致咯~
列印兩個檔案不同的內容
使用php簡單實現 file1 name file1 file2 name file2 file1 file get contents file1 name file2 file get contents file2 name arr1 preg split n file1 arr2 preg sp...
合併內容格式不同的兩個檔案
題目描述 將檔案a.txt中的單詞與檔案b.txt中的單詞交替合併到檔案c.txt中,a.txt中的單詞用回車符分隔,b.txt中的單詞用回車符或者空格分隔 思路分析 由於題目明確說明了檔案a.txt與檔案b.txt的分隔符有所不同,所以考慮新建乙個檔案類,該類描述檔案,屬性有單詞 分隔符 然後在再...
利用shell比較兩個檔案內容的不同
兩個檔案a.txt和b.txt a.txt more a.txt 1122 3344 55 b.txt more b.txt 11122 7788 3399 如果執行diff a.txt b.txt diff w a.txt b.txt 1c1 11 111 2a3,4 77 88 4,5c6 44...