常见问题杂记

1.3 引用资源时使用@还是?的问题

关于在引用资源时使用@还是?的问题,我们在设置style的时候既可以使用@也可以使用?, 例如android:textAppearance="@andorid:style/TextAppearance.Medium",

android:textAppearance="?android:attr/textAppearanceMedium"

使用@表示使用固定的style,而不会跟随Theme改变,这个style可以在style.xml中找到。

而?表示从Theme中查找引用的资源名

1.3.1 attrs.xml常见问题:

1.3.1_1、<declare-styleable> 这个标签的作用到底是什么??

declare-styleable标签的作用:方便在程序中获取该标签下的属性数组。可以通过R.styleable.name方式获取属性数组,可以通过R.styleable.styleablename_attrname获取某一个属性。

1.3.1_2、包含在<declare-styleable>标签内的属性和不包含在该标签内的属性有什么区别??

获取方式不同,在declare-styleable标签内的属性可以作为一个数值,一次获取。

1.3.3_3、布局文件中自定义名字空间可以随便起前缀名字吗??

网上查了一下说名字空间的名字可以随便起,可是我尝试了却不行。

比如attrs.xml中定义了一些属性

<declare-styleable name="ProgressWheel">

<attr name="text" format="string" />

<attr name="textColor" format="color" />

<attr name="textSize"format="dimension" />

<attr name="barColor" format="color" />

</declare-styleable>

布局文件中自定义名字空间

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

xmlns:progre="http://schemas.android.com/apk/res-auto"

……

>

<com.todddavies.components.progressbar.progre

android:layout_width="100dp"

android:layout_height="100dp"

progre:barColor="#FF5601"

progre:textColor="#222222"

/>

</RelativeLayout>

我这边将ProgressWheel换成progre程序报错说是找不到资源progre

我使用ProgressWheel作为名字空间就没有问题。

更多相关文章

  1. Android创建自定义键盘
  2. ListView
  3. Android之布局属性
  4. 【Android】Android(安卓)UI 开发_问答_2
  5. Android之ListView中的分割线
  6. TextView中ellipsize属性焦点异常处理
  7. Android控件属性大全
  8. Android:只读EditText内容可滚动(禁止输入法)的实现
  9. android中GridView关于间距的属性值介绍

随机推荐

  1. Android Retrofit 图片上传的最简单和明
  2. Android 监听屏幕熄屏亮屏和主动唤醒屏幕
  3. android显示自定义view
  4. 利用Java反射机制-访问Android隐藏API
  5. android studio 启动失败(Failed to load
  6. Android 三星128G SD卡格式化为内部存储
  7. android内存管理工具类
  8. 从xml中改变checkBox大小和形状
  9. Android判断上网方式(Wifi还是数据流量)
  10. Android Json-判断json是JSONObject还是J