转自:http://blog.csdn.net/chuchu521/article/details/8052855


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>

运行结果:

更多相关文章

  1. Android(安卓)Studio 运行java程序
  2. 【Android经典入门教程-上(bill译)】
  3. Android中Local Service最本质的作用是什么?
  4. Android下Bonjour服务的使用
  5. Android(安卓)NDK系列(三)-AS编写C文件没有提示和不识别NULL
  6. 【Android经典入门教程-上(bill译)】
  7. android uiautomator自动化测试
  8. 【android工程转为lib工程后提示'R.id.xxx不能作为case语句的表
  9. 在你的android设备运行java web应用程序

随机推荐

  1. Android ImageView实现类似Gif动图的效果
  2. 通过ddmlib杀死某个android进程的方法
  3. system.err android.os.NetworkOnmainThr
  4. Uri结构解析(Android)
  5. git android 源码 ssl错误, 重新设置即可
  6. Cocos2dx 横屏竖屏
  7. Android培训班(1)
  8. Android COLLATE LOCALIZED ASC
  9. android大分辨率图片的缩放处理和图片添
  10. Android View(三)-MeasureSpec详解