1.*Drawable 综述及 Shape 类型*
(1)Drawable是对可绘制物件的一般抽象。
一般与颜色、图像、图片有关。
与View不同,不具有事件和交互方法。
Drawable 相关子类
(2).实例:一般用于变化颜色、变化图片、绘制图形。
创建xml文件,位置:drawable/xxx.xml,
变化图片:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片-->
<item android:drawable="@drawable/pic1" />
<!-- 触摸模式下单击时的背景图片-->
<item android:state_pressed="true" android:drawable="@drawable/pic3" />
<!--选中时的图片背景-->
<item android:state_selected="true" android:drawable="@drawable/pic4" />
<!--获得焦点时的图片背景-->
<item android:state_focused="true" android:drawable="@drawable/pic5" />
</selector>
变化颜色:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="#FFF" />
<item android:state_focused="true" android:color="#FFF" />
<item android:state_pressed="true" android:color="#FFF" />
<item android:color="#000" />
</selector>
还可以实现更复杂的效果,例如渐变:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> /
<item android:state_pressed="true">//定义当button 处于pressed 状态时的形态。
<shape>
<gradient android:startColor="#8600ff" />
<stroke android:width="2dp" android:color="#000000" />
<corners android:radius="5dp" />
<padding android:left="10dp" android:top="10dp"
android:bottom="10dp" android:right="10dp"/>
</shape>
</item>
<item android:state_focused="true">//定义当button获得 focus时的形态
<shape>
<gradient android:startColor="#eac100"/>
<stroke android:width="2dp" android:color="#333333" color="#ffffff"/>
<corners android:radius="8dp" />
<padding android:left="10dp" android:top="10dp"
android:bottom="10dp" android:right="10dp"/>
</shape>
</item>
</selector>
注:最后,需要在包含 button的xml文件里添加两项。例如main.xml 文件,需要在里加两项android:focusable=”true” android:background=”@drawable/button_color”
可以绘制图形,作为按钮或者文本框的背景:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 圆角 -->
<corners
android:radius="3dp" /><!-- 设置圆角半径 -->
<!-- 间隔 -->
<padding
android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp"/><!-- 各方向的间隔 -->
<!-- 大小 -->
<size
android:width="10dp"
android:height="10dp"/><!-- 宽度和高度 -->
<!-- 填充 -->
<solid
android:color="@color/comm_red"/><!-- 填充的颜色 -->
</shape>
2.SVN使用:
http://jingyan.baidu.com/article/6c67b1d6f524d52787bb1ef3.html
http://jingyan.baidu.com/article/358570f6638aa4ce4724fcf7.html
3.Material Design
Material Design是Google官方就Android的动画、样式、布局、组件、模式和可用性提出的一系列参考做法。
可学习资源:
http://wiki.jikexueyuan.com/project/material-design/
https://www.google.com/design/spec/material-design/introduction.html
4.出现该问题unspecified on project app resolves to an APK archive which is not supported as a compilation dependency
可能是:创建了两个Module,其中一个Module依赖另一个Module而导致了出现该问题。在Android Studio中,有ModuleA和ModuleB,我们希望ModuleA依赖ModuleB,运行时候可能会出现该问题。
网上解决方法:http://blog.youkuaiyun.com/u012336923/article/details/48049479
个人遇见时的解决方法:
dependencies应该如上图,一个Module没有乱引用另一个Module东西,如不应该有compile pathfiles(***)之类。
5. tag requires a ‘drawable’ attribute or child tag defining a drawable
1.可以clean下
2.运行查看背景效果,如果不影响就可以不处理。
3.谷歌官方文档给出的做法:
res目录下新建color文件夹,然后通过@color/.xml引用。
6.Missing styles. Is the correct theme chosen for this layout? Use the Theme combo box above the layout to choose a different layout, or fix the theme style references.
1.先clean试下
2.查看布局的样式是否和AndroidManifest的样式是否一致。
3.查看res-values-style.xml里面的style.xml文件是否出问题。
正常情况的显示界面应该是这样: