安卓開發遇到的坑

2021-08-21 19:22:15 字數 705 閱讀 6408

最近接了乙個外包開發的專案, 在這個專案上做ui調整和新功能開發。遇到乙個getbackground().setalpha 改變背景顏色的問題。晚上提交完**, 第二天執行發現專案中的所有對話方塊(dialog,popwindow)背景全部變成透明效果了。然後就感覺肯定是不小心改變主題樣式什麼的。但是檢視所有的提交記錄都沒有發現有關 theme 和style 相關的提交記錄。然後回滾到沒問題的版本乙個檔案乙個檔案的對比。

用了一上午的時間發現無意間改了這個檔案

因為這個色值和整體的專案主題不搭, 隨手就改了,

因為印象中看到過這樣的設定, 所以感覺肯定是這的問題。

果然在網上找了資料才知道,在布局中多個控制項同時使用乙個資源的時候,這些控制項會共用乙個狀態,例如colorstate,如果你改變了乙個控制項的狀態,其他的控制項都會接收到相同的通知。這時我們可以使用mutate()方法使該控制項狀態不定,這樣不定狀態的控制項就不會共享自己的狀態了。

llsearch.getbackground().mutate().setalpha(0);
參考:

安卓drawText中的坑

安卓中在canvas.drawtext 時發現很多需要注意的問題 paint mpaint new paint paint.anti alias flag mpaint.settextalign paint.align left center 初始化paint物件時可以指定文字對齊方式,先討論預設情...

安卓掉坑記錄

將含 litepal.xml 檔案的 assets 資料夾放到 main 資料夾下,編輯一下 xml 檔案 直觀上看是沒有刪除某個檔案,產生的ioexception異常,實際上是因為上次編譯導致的快取沒有清空導致的。進入到android目錄下執行下面 清除上次打包時的快取 gradlew.bat c...

bluetooth spp安卓開發

在開發有關android的藍芽spp服務時,發現了一點問題,需要注意的是,在連線spp服務的時候,有可能直接呼叫connect會出現exception的問題,因此,對於spp的服務應當有兩種實現比較保險,spp的服務特徵碼 uuid 00001101 0000 1000 8000 00805f9b3...