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>

运行结果:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏项勇

笔记11 | 动态设置TextView的字体大小

2106
来自专栏Android开发与分享

【Android】RecyclerView的使用

2745
来自专栏学海无涯

Android开发之Activity转场动画

引子 相信开发过iOS的程序员都知道iOS ViewController之间的跳转动画非常多,很酷对不对?这让开发Android的羡慕不已,曾几何时,Andro...

4266
来自专栏向治洪

android GifView分享

gif图动画在android中还是比较常用的,比如像新浪微博中,有很多gif图片,而且展示非常好,所以我也想弄一个。经过我多方的搜索资料和整理,终于弄出来了,...

3379
来自专栏潇涧技术专栏

Fab and Dialog Morphing Animation

Fab and Dialog Morphing Animation on Android.

812
来自专栏三好码农的三亩自留地

教你搞定Android自定义ViewGroup

我们知道ViewGroup就是View的容器类,我们经常用的LinearLayout,RelativeLayout等都是ViewGroup的子类,因为ViewG...

761
来自专栏Android源码框架分析

三句代码创建全屏Dialog或者DialogFragment:带你从源码角度实现全屏Dialog

Dialog是APP开发中常用的控件,同Activity类似,拥有独立的Window窗口,但是Dialog跟Activity还是有一定区别的,最明显的就是:默认...

3714
来自专栏移动开发

FruitLoadView 一个自定义view可用来做加载view

Github地址:https://github.com/X-FAN/FruitLoadView 欢迎star

892
来自专栏郭霖

Android自定义View的实现方法,带你一步步深入了解View(四)

不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析、视图的绘制流程、视图的状态及重...

3029
来自专栏Android开发指南

8.滑动事件处理

36912

扫码关注云+社区

领取腾讯云代金券