记Android Studio自定义属性访问不了的问题

原创 2016年05月30日 10:30:38

转载请注明出处:
http://blog.csdn.net/guodongAndroid/article/details/51536091
本文来自:【孫小逗的博客】

一、概述

在Eclipse中对于自定义属性的引用是在根布局文件中声明一个命名空间,比如:xmlns:xxx=“http://schemas.android.com/apk/res/项目包名”。其中xxx是自己定义的,项目包名就是Manifest文件中的package。而在Android Studio中声明命名控件和在Eclipse中类似,例如:xmlns:wzq=”http://schemas.android.com/apk/res-auto”,
只是res后面不同。但是这样带来了一个麻烦!

二、解决

AS这样做会带来什么麻烦呢?即,所有的自定义属性堆积在一起,导入的时候,就会很混乱。Google为了解决这个问题,就将要使用自定义View或ViewGroup类名与属性文件内的声明命名设置关联,如图:
这里写图片描述

意思是类名要和自定义属性文件的命名一致。

如果不一致会出现情况呢?我们尝试一下,更改自定义属性文件的命名,如图:这里写图片描述

出现的情况,如下图:
这里写图片描述

咦,自定义属性怎么没有了?这就是自定义View或ViewGroup类名与属性文件内的声明命名不一致,AS找不到关联。

知道了问题所在,我们在改回来试试,如图:
这里写图片描述

哈,太棒了,自定义属性又回来了。

还有一点哦,在自定义View或ViewGroup涉及onSaveInstanceState()或onRestoreInstanceState()时,如果自定义的View或ViewGroup没有设置一个id的话,状态是无法恢复的。

这是一个简单的五子棋小游戏,根据鸿洋大神教程所写。

谢谢!
源码地址

版权声明:本文为博主原创文章,未经博主允许不得转载。

在Android Studio使用自定义属性

步骤如下: 1 在res/values/ 下建立一个保存属性的文件attrs.xml (名称任意) 2 使用declare-styleable给自定义控件添加自定义属性: xml version...
  • a314773862
  • a314773862
  • 2016年02月24日 23:27
  • 4131

Android Studio 下使用自定义属性注意点

1.Eclipse 下使用自定义属性 先要在res 下的value目录下生成attr.xml中定义自己的属性,例如下面 ...
  • ysmintor
  • ysmintor
  • 2016年03月09日 21:23
  • 2433

android之Android Studio下自定义属性的定义和使用

Android Studio下自定义属性的定义和使用 1.自定义属性的定义 在values文件夹下,新建attrs.xml文件,格式内容如下: ...
  • IT142546355
  • IT142546355
  • 2016年09月06日 22:16
  • 1056

Android Studio 布局中引用自定义属性不提示的问题

Eclipse里面自定义属性的命名空间的声明一般都是xmlns:app="http://schemas.android.com/apk/res/com.xxx(包名)而Android Studio里面...
  • qq_21793463
  • qq_21793463
  • 2016年10月12日 17:34
  • 3404

Android Studio 引用自定义属性的问题

Eclipse里面自定义属性的命名空间的声明一般都是xmlns:app="http://schemas.android.com/apk/res/com.xxx(包名)而Android Studio里面...
  • ipklo
  • ipklo
  • 2016年01月21日 10:13
  • 723

Android studio中自定义控件在Android Studio中xmlns不识别问题

Gradle工具会自动识别,所以不用指定包名 把 xmlns:xx="http://schemas.android.com/apk/res/com.xxx" 换成 xmlns:xx="ht...
  • dangaodeaiyi
  • dangaodeaiyi
  • 2016年11月11日 15:25
  • 1284

Android 自定义view 基本实现方式和自定义属性

实现方式: 1. 继承自ViewGroup或Layout ,自定义设置子view的位置、尺寸等 2. 继承自已有的widget View,用于扩展现有组件的功能 3. 继承自View ,完全自定义一个...
  • jjwwmlp456
  • jjwwmlp456
  • 2014年08月21日 16:42
  • 6712

自定义属性引入layout获取不到resourceId的问题

今天自定义View想达到,能引入layout的效果,例如: 自定义属性:
  • KevinsCSDN
  • KevinsCSDN
  • 2017年07月07日 16:04
  • 316

Android Studio 添加第三方依赖后,控件属性不提示

首先,在添加了第三方依赖之后,clean下。如果属性还是不能提示,那么重启AS,然后再clean build下。记。...
  • a631855639
  • a631855639
  • 2016年02月24日 11:58
  • 1699

Android studio中自定义属性访问不了的解决办法

自定义属性只需要一个命名空间xmlns:myname="http://schemas.android.com/apk/res-auto" 如此一来,在布局文件中设置自定义属性的时候就不会出现其他...
  • myInterface
  • myInterface
  • 2016年03月11日 10:25
  • 793
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:记Android Studio自定义属性访问不了的问题
举报原因:
原因补充:

(最多只允许输入30个字)