您好,登錄后才能下訂單哦!
Android xmlns 的作用及其自定義實例詳解
xmlns:Android="http://schemas.android.com/apk/res/android的作用是:
這個是xml的命名空間,有了他,你就可以alt+/作為提示,提示你輸入什么,不該輸入什么,什么是對的,什么是錯的,也可以理解為語法文件。或者語法判斷器什么的
這個主要作用是在運行的時候那些控件的屬性都是通過它來識別的,如果上面你寫錯了,不會有任何問題,但是在運行的時候就會有問題,提示你沒有指定寬度等什么。這個是不用聯網的。
Android 自定義的xmlns其實很簡單,語法規則是:
在使用到自定義View的xml布局文件中需要加入xmlns:前綴=http://schemas.android.com/apk/res/你的應用程序包路徑.
下面是一個簡單的例子:
結構圖:
MyView.java
package kexc.myView; import android.content.Context; import android.content.res.TypedArray; import android.util.AttributeSet; import android.widget.TextView; public class MyView extends TextView { private String mString = "Welcome to Kesion's blog"; public MyView(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyView); int textColor = a.getColor(R.styleable.MyView_textColor, 0XFFFFFFFF); float textSize = a.getDimension(R.styleable.MyView_textSize, 36); mString = a.getString(R.styleable.MyView_title); setText(mString); setTextSize(textSize); setTextColor(textColor); } }
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:test="http://schemas.android.com/apk/res/kexc.myView" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <kexc.myView.MyView android:layout_width="fill_parent" android:layout_height="fill_parent" test:title="wo shi text" test:textSize="20px" test:textColor="#fff" /> </LinearLayout>
屬性文件 value/attrs.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="MyView"> <attr name="textColor" format="color"/> <attr name="textSize" format="dimension" /> <attr name="title" format="string"/> </declare-styleable> </resources>
運行結果:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。