android自定义xmls文件属性

时间:2022-04-25
本文章向大家介绍android自定义xmls文件属性,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

在使用到自定义View的xml布局文件中需要加入xmlns:前缀=http://schemas.android.com/apk/res/你的自定义View所在的包路径.

下面是一个简单的例子:

结构图:

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>

运行结果: