解決Android Studio Design介面不顯示layout控制元件的問題
Android Studio更新到3.1.3後,發現拖到Design中的控制元件在預覽介面中不顯示;
解決辦法:
在Styles.xml中的parent="..."中的Theme前新增Base
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> </resources>
補充知識:AndroidStudio XML檔案之style標籤詳解
前言:
Android的樣式一般定義在res/values/styles.xml檔案中,其中有一個根元素resource,樣式通過巢狀子標籤style來完成,style可以巢狀多個item標籤來設定不同的屬性,從而提高複用率。
什麼是Style:
style是一個標籤,該標籤裡可以巢狀多個item子標籤,通過item標籤的name設定不同的屬性,多個item組合起來就是一個style樣式
示例:
<style name="DefaultProgressDialog" parent="android:style/Theme.Dialog" > <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> </style>
Style標籤裡面的屬性:
name="XXX" 定義該style樣式的name名稱
parent="XXX" 可以繼承自哪一個Style標籤,繼承以後可對父標籤已經有的屬性進行重寫
Style標籤裡可以巢狀的標籤:
item標籤的屬性:
name="XXX" name裡面的值可以為任意字串,對應的是某一個view的屬性值(如果要引用的view不存在這個屬性,預設為這個屬性無效(忽略這個屬性),並不會報錯)
自定義控制元件裡面的屬性值怎麼在style的item標籤裡宣告:
在主工程的時候要加上包名:
<style name="navigationbar_radiogroup_style"> <item name="com.mobeta.android.dslv.view:drawableSize">@dimen/dp20</item> </style>
在module或其他類庫的話,什麼都不用加:
<style name="navigationbar_radiogroup_style"> <item name="drawableSize">@dimen/dp20</item> </style>
常用item屬性:
視窗進出動畫設定:
<style name="WheelSelect" parent="@android:style/Animation"> <item name="android:windowEnterAnimation">@anim/wheel_select_enter</item> <item name="android:windowExitAnimation">@anim/wheel_select_exit</item> </style>
設定Dialog的屬性:
<style name="DefaultProgressDialog" parent="android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> </style>
各屬性顏色的位置
1.colorPrimary 應用的主要色調,actionBar預設使用該顏色,Toolbar導航欄的底色
2.colorPrimaryDark 應用的主要暗色調,statusBarColor預設使用該顏色
3.statusBarColor 狀態列顏色,預設使用colorPrimaryDark
4.windowBackground 視窗背景顏色
5.navigationBarColor 底部欄顏色
6.colorForeground 應用的前景色,ListView的分割線,switch滑動區預設使用該顏色
7.colorBackground 應用的背景色,popMenu的背景預設使用該顏色
8.colorAccent CheckBox,RadioButton,SwitchCompat等一般控制元件的選中效果預設採用該顏色
9.colorControlNormal CheckBox,SwitchCompat等預設狀態的顏色。
10.colorControlHighlight 控制元件按壓時的色調
11.colorControlActivated 控制元件選中時的顏色,預設使用colorAccent
12.colorButtonNormal 預設按鈕的背景顏色
13.editTextColor 預設EditView輸入框字型的顏色。
14.textColor Button,textView的文字顏色
15.textColorPrimary DisableOnly RadioButton checkbox等控制元件的文字
16.textColorPrimary 應用的主要文字顏色,actionBar的標題文字預設使用該顏色
17.colorSwitchThumbNormal: switch thumbs 預設狀態的顏色. (switch off)
以上這篇解決Android Studio Design介面不顯示layout控制元件的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。