Android Studio 中 Preview 常見問題和技巧
Android Studio提供了一個強大的“Preview”工具,可以幫助您預覽您的佈局檔案將如何在使用者的裝置上呈現。XML佈局可能是Android開發中最常用的資源。 您的專案中每個活動至少有一個佈局檔案。 Android Studio的預覽工具可幫助您實現這些偉大的設計,並快速迭代它們,甚至不需要執行您的應用程式。它還允許您檢視佈局的不同配置,例如在縱向或橫向時的外觀,或者TextView在多個語言環境(如英語,德語或希臘語)上的外觀。
即使預覽工具是強大的,可以使你的發展日子輕而易舉,與此同時,它也有一些缺點會讓程式猿抓狂。這篇文章談論Preview的常見問題和技巧。
這裡是最常見的關於Preview的問題列表和解決方案(圖片請右鍵用新標籤放大檢視):
的影像載入器將是不可能的。 出於同樣的原因,任何依賴注入框架將不工作,因為它不會在預覽上下文中初始化,導致檢視在被擴充時丟擲異常。
在這種情況下可以使用View.isInEditMode()。 使用它來檢查您是否是正在預覽,並跳過在Preview時不可用的依賴:
public ImageWithCaptionView(Context context, AttributeSet attrs) { super(context, attrs); if (!isInEditMode()) { ArticlesApplication.getInjector().inject(this); } }
問題4:merge佈局重疊
merge標籤可以幫助您減少佈局程式碼的重複。
然而,merge的問題是,它內部的所有元件將被摺疊在一起,同時顯示在預覽裡,造成視覺混亂。如下圖所示,TextView覆蓋在ImageView的上面:
您可以使用工具:tools:showIn=”layout”來顯示使用它的一些其他現有佈局內的佈局的內容。 請注意,如果您在多個地方使用不同的父佈局,則只能選擇一個佈局進行預覽。
從Android Studio 2.2開始,您現在可以使用工具:parentTag =“LinearLayout”例如將渲染布局為LinearLayout。下圖是使用後的效果,不再有重疊:
問題5:在預覽時顯示隱藏的檢視
你的活動可能包含一些在onCreat時需要隱藏的View,但在一些事件後顯示它們。透過設定這些檢視在佈局中的visibility:”GONE”,可以確保它們永遠不會在預覽時可見。
問題是,這些檢視將從預覽中消失,如果一些其他開發人員開啟佈局,並在預覽中查詢它們,他們將無法找到它。這是一個問題,因為它需要更多的精力和時間來了解螢幕上發生了什麼。
您可以使用tools:visibility =“visible”屬性,以僅在預覽皮膚中顯示它。
問題6:ListView的Item和Header/Footer預覽
使用tools:listitem / tools:listheader / tools:listfooter可以實現在預覽中增加item、header、footer的效果。例如:
此特性在AS2.2有bug(無效),並在2.3中修復。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2618/viewspace-2803019/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android Studio常見問題(+)Android
- Android Studio 常見問題彙總Android
- Android Studio 常見問題集錦Android
- 專案答辯常見問題和技巧
- flutter常見問題【3】:Flutter 使用Android studio 打包生成apkFlutterAndroidAPK
- React + Typescript領域初學者的常見問題和技巧ReactTypeScript
- GarageSale Mac版常見問題及提示技巧Mac
- Android studio下載安裝後常見問題中的gradle下載失敗AndroidGradle
- Android Studio初探之previewAndroidView
- java中list的常見問題。Java
- docker安裝和常見問題Docker
- RDSforMySQLMysqldump常見問題和處理ORMMySql
- 指標常見問題(Android之JNI)指標Android
- Android WebView 常見的九個問題AndroidWebView
- Android Studio中的一些常見控制元件Android控制元件
- windows 10 安裝和使用中5個常見問題Windows
- Web標準中的常見問題Web
- React Native在Android當中實踐(五)——常見問題React NativeAndroid
- [Visual studio code 常見問題解決] ——中文亂碼、
- 【Nginx】常見問題Nginx
- js常見問題JS
- CSS常見問題CSS
- Git 常見問題Git
- PHP 常見問題PHP
- swiper常見問題
- nginx 常見問題Nginx
- java 常見問題Java
- MyBatis常見問題MyBatis
- 前端常見問題前端
- Git常見問題Git
- SQLServer常見問題SQLServer
- css 常見問題CSS
- HTML常見問題HTML
- PyMongo 常見問題Go
- xhtml常見問題HTML
- UITableview 常見問題UIView
- mysql常見問題MySql
- MySQL 常見問題MySql