Android xmlns 的作用及其自定義實(shí)例詳解
Android xmlns 的作用及其自定義實(shí)例詳解
xmlns:Android="http://schemas.android.com/apk/res/android的作用是:
這個是xml的命名空間,有了他,你就可以alt+/作為提示,提示你輸入什么,不該輸入什么,什么是對的,什么是錯的,也可以理解為語法文件。或者語法判斷器什么的
這個主要作用是在運(yùn)行的時候那些控件的屬性都是通過它來識別的,如果上面你寫錯了,不會有任何問題,但是在運(yùn)行的時候就會有問題,提示你沒有指定寬度等什么。這個是不用聯(lián)網(wǎng)的。
Android 自定義的xmlns其實(shí)很簡單,語法規(guī)則是:
在使用到自定義View的xml布局文件中需要加入xmlns:前綴=http://schemas.android.com/apk/res/你的應(yīng)用程序包路徑.
下面是一個簡單的例子:
結(jié)構(gòu)圖:
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>
運(yùn)行結(jié)果:
相關(guān)文章
Android實(shí)現(xiàn)院系專業(yè)三級聯(lián)動
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)院系專業(yè)三級聯(lián)動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03Android自定義View葉子旋轉(zhuǎn)完整版(六)
這篇文章主要為大家詳細(xì)介紹了Android自定義View葉子旋轉(zhuǎn)完整版,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03Android Animation實(shí)戰(zhàn)之一個APP的ListView的動畫效果
這篇文章主要介紹了Android Animation實(shí)戰(zhàn)項(xiàng)目,為大家分享了一個APP的ListView的動畫效果,感興趣的小伙伴們可以參考一下2016-01-01詳解如何在Android Studio中添加RecyclerView-v7支持包
本篇文章主要介紹了詳解如何在Android Studio中添加RecyclerView-v7支持包,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02Android基于Fresco實(shí)現(xiàn)圓角和圓形圖片
這篇文章主要為大家詳細(xì)介紹了Android基于Fresco實(shí)現(xiàn)圓角和圓形圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04