android 解析xml 到 AttributeSet物件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:attr="http://schemas.android.com/apk/res/com.example.powerimageviewtest"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.example.powerimageviewtest.PowerImageView
android:id="@+id/image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/anim"
attr:auto_play="false"
android:background="@drawable/ic_launcher"
/>
</RelativeLayout>
public PowerImageView(Context context, AttributeSetattrs) {
attributeSet 是在layoutinflat 中屬值的
通過索引訪問
attrs.getAttributeCount() 返回 7 屬性的個數
attrs.getAttributeName(i) 第i個屬性的name
for (int i = 0; i < attrs.getAttributeCount(); i++) {
// 11-11 14:50:36.835: I/System.out(7639): fd-->id
// 11-11 14:50:36.835: I/System.out(7639): fd-->background
// 11-11 14:50:36.835: I/System.out(7639): fd-->layout_width
// 11-11 14:50:36.835: I/System.out(7639): fd-->layout_height
// 11-11 14:50:36.835: I/System.out(7639): fd-->src
// 11-11 14:50:36.835: I/System.out(7639):
// fd-->layout_centerInParent
// 11-11 14:50:36.835: I/System.out(7639): fd-->auto_play
// 不明白順序是怎麼來的
syso("fd-->" + attrs.getAttributeName(i));
}
從下面可看出,其實是xmlPullParseric_launcher 對應的id
attrs.getAttributeBooleanValue(6, false) 第6個元素的布林值
通過名稱空間訪問:
String androidNM = "http://schemas.android.com/apk/res/android";
String myNM = "http://schemas.android.com/apk/res/com.example.powerimageviewtest";
syso("fd-->" + attrs.getAttributeBooleanValue(myNM, "auto_play", false)); // false
syso("fd-->" + attrs.getAttributeResourceValue(androidNM, "src", 0)); // 2130837504
相關文章
- SQLServer解析xml到OracleSQLServerXMLOracle
- Android中解析XMLAndroidXML
- Android之XML檔案解析AndroidXML
- Android系列--DOM、SAX、Pull解析XMLAndroidXML
- Android中XML的解析--使用PULLAndroidXML
- [android]AndroidManifest.xml解析AndroidXML
- Android 中 XML 資料解析詳解AndroidXML
- 探究Android View 繪製流程,Xml 檔案到 View 物件的轉換過程AndroidViewXML物件
- android下解析.plist配置檔案的xml解析器AndroidXML
- Xml解析XML
- Android解析XML和JSON(部落格例子)AndroidXMLJSON
- iOS – XML解析iOSXML
- go 解析xmlGoXML
- xml php 解析XMLPHP
- iOS - XML解析iOSXML
- 【Java】解析xmlJavaXML
- Java解析XMLJavaXML
- jaxb解析xmlXML
- DOM解析XMLXML
- Python解析xml[xml.dom]PythonXML
- Android之深入理解xml資料的pull解析AndroidXML
- :Android網路程式設計--XML之解析方式:SAXAndroid程式設計XML
- 175.XML解析XML
- C# XML解析C#XML
- 使用jdom解析XMLXML
- 解析xml筆記XML筆記
- XML解析技術XML
- xml解析之domXML
- XML資料解析XML
- 關於xml解析XML
- 18、 Caused by: java.lang.NoSuchMethodException: [class android.content.Context..AttributeSetJavaExceptionAndroidContext
- 讀取xml檔案 解析雙層xmlXML
- js解析php格式的表單到json物件PHPJSON物件
- Android逆向(一) —— AndroidManifest.xml 二進位制解析AndroidXML
- XML 檔案解析實踐 (DOM 解析)XML
- python之XML解析PythonXML
- jdom解析xml檔案XML
- JAVA進行XML解析JavaXML