解决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,RadioButton,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控件的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Android Studio3.5及使用AndroidX的一些坑

    google的更新优化往往会牵动一大批开发者的心.去年的androidx,到今年studio3.5后都默认使用androidx了.其实对于我们开发者而言,我们都只是调用他的api,对我们的影响不大??!可是人性的习惯,还是比较不那么容易改变的.现在我就来说说我遇到的一些坑吧.话说还是很严重.不知道androidx的请自行百度. 一.我们从新建一个项目说. 3.5新建项目,是默认使用androidx的 看最后一样,Use androidx.* artifacts.而且不能取消掉的. 那么到我们项目

  • Android Studio 3.6 layout文件text模式切换问题

    如题. 3.6 版本的AS,对于活动布局文件的显示有text和view模式,但是切换的按钮位置与之前版本的不同.如下图 在右上角的三个按钮 点击1,显示text模式(就是xml代码) 点击3,显示view模式(就是直观的gui) 点击2,是以上两者共存. 之前的版本中,这个按钮在左下角,3.6有所变化,特此记录. 知识点补充: android stdio3.6让layout中的xml文件在code.spilt与design转换(备份) 打开res中的layout文件夹 随机点击一个文件 注意必须

  • Android Studio 3.6中使用视图绑定替代 findViewById的方法

    从 Android Studio 3.6 开始,视图绑定能够通过生成绑定对象来替代 findViewById,从而可以帮您简化代码.移除 bug,并且从 findViewById 的模版代码中解脱出来. 本文梗概 在 build.gradle 中就可以方便快捷地开启视图绑定且无须额外引入依赖库 视图绑定会为 Module 中的每一个布局文件生成一个绑定对象 (activity_awesome.xml → ActivityAwesomeBinding.java) 布局文件中每一个带有 id 的视图

  • 解决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&quo

  • 解决Android studio xml界面无法预览问题

    如下图 修改style.xml中的 parent="Theme.AppCompat.Light.DarkActionBar" 改为 parent="Base.Theme.AppCompat.Light.DarkActionBar" <!-- Base application theme. --> <style name="AppTheme" parent="Base.Theme.AppCompat.Light.Dark

  • Android信息界面编辑及组合控件的封装

    本文实例为大家分享了Android编辑信息界面,及组合控件的封装,供大家参考,具体内容如下 Github地址(完整Demo,欢迎下载) 效果图 attrs.xml <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="ItemGroup"> <!--标题的文字--> <attr name=&quo

  • 解决Android Studio XML编辑界面不显示下面的Text和Design选项卡

    问题描述: 在XML布局编写中,下方不显示Text和Design选项卡,无法切换编程和界面视图 解决方法: 1.检查右上角有没有这些选项,这几个按钮可以用来切换 2.上述步骤失败,再尝试改一下这个版本 3.上述两种方法都无法调出Text和Design选项卡,可使用下面两个替代方法 (1)快捷键: Alt+shift+左箭头:跳转Text界面 Alt+Shift+右箭头:跳转Design界面 (2)从Design进入XML,可尝试在界面上右击一个控件,用go to xml能不能去往text界面 以

  • 解决Android Studio Log.v和Log.d不显示的问题

    今天用华为荣耀7进行安卓测试,发现Log.v和Log.d不显示打印信息,只显示Log.i.Log.w和Log.e的信息. protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_2_32); Log.v("Activity_2_32","This is -------------------

  • 解决Android studio中关于模拟器的/data目录不能显示的问题

    当我们在Android studio中打开Android device  monitor时,发现data目录不能打开,如图: 当我们去点击/data/目录时,发现什么都没有,这是怎么回事呢? 原因是我们权限不够,当前的用户没有权限访问data目录. 1.改变/data目录的权限 (1).在Android studio的sdk目录中找到platform-tools目录,在这个目录下同时按住shift和鼠标右键,然后选择命令窗口打开 (2).输入adb shell命令,然后输入su,使得用户切换到r

  • 解决Android Studio突然不显示logcat日志的问题

    前言:上午写代码时还好好的,下午不知道怎么回事突然就不显示logcat日志了,觉得很奇怪,于是开始找各种解决办法! 现象如图所示,logcat无日志显示: 首先,你可以试试修改以下参数: 2.若修改上述参数依然不显示,你可以打开Device Moniter,查看logcat,步骤如下: 如果在这里有logcat日志正常显示的话,你可以设置Tool-->Android-->Enable ADB Integration为勾选状态: 若已经是勾选状态,可重启一下 AS ! 这样就能看到logcat日

  • 完美解决Android Studio集成crashlytics后无法编译的问题

    问题描述: 在用fabric集成后编译出现如下错误, Error:Cause: hostname in certificate didn't match: <maven.fabric.io> != <*.motili.com> OR <*.motili.com> OR <motili.com> build.gradle部分脚本(fabric插件自动生成的): buildscript { repositories { maven { url 'https://

  • 解决android studio android monitor打不开的问题

    1.问题截图如下: 2.问题出现的原因:个人推断是由于更新谷歌推过来的更新所致(因为我在公司电脑上和个人笔记本上装了同样的android studio 2.3.3版本,个人笔记本将每次都更新谷歌插件,台式机没更过,结果就杯具了,公司台式机可正常打开android device monitor,个人笔记本打不开): 3.问题最开始提示的是Jdk版本太低,因此下载了最新的jdk1.9版本...此处略去配置变量等等.满心欢喜打开AS,结果还是提示我上图的错误提示.而且我多次打开和关闭android d

  • 解决Android Studio xml 格式化不自动换行的问题

    今天把Android Studio 2.3 更新为了3.0 遇到一个蛋疼的问题 如图: 格式化完代码后发现不会自动换行了,看着真心不爽. 后来发现其实是设置问题,如图: 只要把这里打上√就可以了. 在此记录一下,希望可以帮到后面的小伙伴 补充知识:Android实现控件内自动换行(比如LinearLayout内部实现子控件换行 ) 一.创建类AntoLineUtil(换行操作主要在这里实现) package com.inpor.fmctv.util; import android.content

随机推荐