android studio 升級 Dolphin | 2021.3.1 Patch 1 跟 View.isInEditMode

来源:https://www.cnblogs.com/LiuZhen/archive/2022/11/09/16874659.html
-Advertisement-
Play Games

android studio 升級 Android Studio Dolphin | 2021.3.1 Patch 1後,xml佈局預覽界面報錯 一開始以為是那些警告導致的,有很多黃色的xml警告,比如命名的名字不是英文,或者設置了各種顏色值警告,或者系統要求你添加 contentDescripti ...


android studio 升級 Android Studio Dolphin | 2021.3.1 Patch 1後,xml佈局預覽界面報錯

一開始以為是那些警告導致的,有很多黃色的xml警告,比如命名的名字不是英文,或者設置了各種顏色值警告,或者系統要求你添加 contentDescription

其實不是這些,因為之前就存在,沒個佈局不可能都加一堆廢屬性,看著就很不爽,後來發現一個紅色的警告,自己沒當回事

我查了一下整個佈局,這個就是 ShapeableImageView 才會用到的 material 屬性,而且我已經加過了

於是我又找了一下相關的api,發現跟我有個相似的api,一開始我是用的 shapeAppearanceOverlay,但是其實還有一個 shapeAppearance 屬性

於是我看了下,同樣可以達到效果,不過 shapeAppearanceOverlay 是一個處理覆蓋層的屬性,我抱著試一試的態度,改成了 shapeAppearance ,結果好了

另外還有個坑爹的,就是很多自定義控制項,需要判斷 View.isInEditMode() ,這個方法表示 xml 佈局文件預覽可視化編輯,as預覽時不需要執行具體代碼,所以需要跳過,

否則也無法預覽,只能說噁心,這個方法要麼更新控制項,新版本自帶處理過了,要麼降級

如果是自己定義的view還好,可以修改,但是這裡用的是 MaterialCardView,雖然佈局可以看xml自己判斷位置調整佈局,但是沒預覽是真的難受

當然,你也可以不用這個庫,直接用CardView,也可以避免這個問題,我只能說真的很無語

View.isInEditMode

還有一種情況就是我們的自定義控制項,無法預覽,會提示你需要添加 isInEditMode,在編輯模式下跳過其它不相關的邏輯 一般就是在構造函數中直接判斷

你會發現xml中會隨著你的改動刷新異常,只要根據異常在相應的位置判斷一下就行了

 

有時候xml刷新很慢,添加了還是會提示錯誤,這個時候不用管,是as的問題,運行幾次或者重啟打開就好了


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 摘要:數據加密作為有效防止未授權訪問和防護數據泄露的技術,在各種信息系統中廣泛使用。作為信息系統的核心,GaussDB(DWS)數倉也提供數據加密功能,包括透明加密和使用SQL函數加密。 本文分享自華為雲社區《看GaussDB(DWS)如何使用SQL加密函數實現數據列加解密》,作者:Hello EI ...
  • 近年來,憑藉高可擴展、高可用等技術特性,分散式資料庫正在成為金融行業數字化轉型的重要支撐。分散式資料庫如何在不同的金融級應用場景下,在確保數據一致性的前提下,同時保障系統的高性能和高可擴展性,是分散式資料庫的一個核心技術挑戰。 針對以上分散式一致性的困境,中國人民大學-騰訊協同創新實驗室研究提出“多 ...
  • ​摘要:賬本資料庫融合了區塊鏈思想,將用戶操作記錄至兩種歷史表中:用戶歷史表和全局區塊表。 本文分享自華為雲社區《openGauss賬本資料庫,你不知道的那些事兒》,作者:Gauss松鼠會。 賬本資料庫融合了區塊鏈思想,將用戶操作記錄至兩種歷史表中:用戶歷史表和全局區塊表。當用戶創建防篡改用戶表時, ...
  • 引子 在使用events_statements_current的過程中發現,同一線程在同一時刻,可能有多條記錄,與直觀感覺不太一樣,於是跟蹤了一下內部實現,有了本文。 STATEMENT STACK的定義 STATEMENT STACK 是events_statements_current表被後用於 ...
  • 對於開發人員而言,資料庫的增刪改查操作才是最常使用的功能,學習 MongoDB 時還需對這些功能熟記於心才行啊。我就在這裡做一個簡單的備忘,多看官方文檔才是正道。 ...
  • 1.從官網下載 官網下載對應版本 https://www.elastic.co/cn/downloads/past-releases#kibana 2.解壓縮 tar -xvf kibana-7.15.2-linux-x86_64.tar.gz 3.修改配置文件 server.port: 5601 ...
  • 如今,視頻正在以一種前所未有的方式滲入日常生活,是當下人們記錄生活最熱門的方式。所以,用戶對視頻的畫質要求越來越高,App想要吸引更多的用戶,擁有視頻畫質新技術的強力支撐很關鍵。 HDR(High-Dynamic Range)就是一種提高影像亮度和對比度的處理技術。它可以將每個暗部的細節變亮,增加對 ...
  • 關於Intent.setDataAndType參數問題 install取設置屬於和類型,數據就是獲取到的uri,更具文件類型不同,type參數也不相同,具體參考下表 {尾碼名,MIME類型} ​ {".3gp", "video/3gpp"}, ​ {".apk", "application/vnd. ...
一周排行
    -Advertisement-
    Play Games
  • 簡介 本文的初衷是希望幫助那些有其它平臺視覺演算法開發經驗的人能快速轉入Halcon平臺下,通過文中的示例開發者能快速瞭解一個Halcon項目開發的基本步驟,讓開發者能把精力完全集中到演算法的開發上面。 首先,你需要安裝Halcon,HALCON 18.11.0.1的安裝包會放在文章末尾。安裝包分開發和 ...
  • 本文是對Datawhale的動手學數據分析課程的學習總結,記錄了整體的學習過程、答案以及個人感想,代碼較為詳細。 ...
  • JZ7重建二叉樹 描述 給定節點數為 n 的二叉樹的前序遍歷和中序遍歷結果,請重建出該二叉樹並返回它的頭結點。 例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6} 提示: 1.vin.length == pre.length 2.pre 和 vin ...
  • 我們都知道在Java編程中多線程的同步使用synchronized關鍵字來標識,那麼這個關鍵字在JVM底層到底是如何實現的呢。 我們先來思考一下如果我們自己實現的一個鎖該怎麼做呢: 首先肯定要有個標記記錄對象是否已經上鎖,執行同步代碼之前判斷這個標誌,如果對象已經上鎖線程就阻塞等待鎖的釋放。 其次要 ...
  • 目錄 一.OpenGL 色階 1.Windows OpenGL ES 版本 2.Windows OpenGL 版本 二.OpenGL 色階 GLSL Shader 三.猜你喜歡 零基礎 OpenGL ES 學習路線推薦 : OpenGL ES 學習目錄 >> OpenGL ES 基礎 零基礎 Ope ...
  • 1. 查看Linux伺服器版本信息 # cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 2. 禪道開源版安裝包下載 wget http://dl.cnezsoft.com/zentao/9.8.2/ZenTaoPMS.9.8. ...
  • Spring 框架可以為 Java 應用程式開發提供全面的基礎設施支持,它是現在非常流行的 Java 開源框架,對於一個 Java 開發人員來說,熟練掌握 Spring 是必不可少的。 ...
  • 前言 本篇是c++總結的第二篇,關於c++的對象模型,在構造、拷貝虛函數上重點分析,也包含了c++11class的新用法和特性,如有不當,還請指教! c++三大特性 訪問許可權 ​ 在c++中通過public、protected、private三個關鍵字來控製成員變數和成員函數的訪問許可權,它們分別表示 ...
  • 一.小結 1.使用二維數組來存儲表格 2.可以使用以下語法來聲明二維數組變數: 元素類型[ ] [ ]數組變數 3.可以使用以下語法來創建二維數組變數: new 元素類型 [行的個數][列的個數] 4.使用下麵的語法表示二維數組中的每個元素: 數組變數[行下標][列的個數] 5.可使用數組初始化語法 ...
  • typimg是一款為typora編輯器提供圖像自定義上傳服務的工具,該工具將在typora中輸入的網路圖片、本地圖片、剪貼板圖片/截圖上傳到博客園,支持在MacOS、Windiws、Linux三個平臺上運行。 ...