android自定义view属性
第一种
/MainActivity/res/values/attrs.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MyCircle">
<attr name="radius" format="integer"/>
<attr name="mycolor" format="reference|color"/>
</declare-styleable>
</resources>

/MainActivity/src/com/ch/myviews/MyCircle.java

package com.ch.myviews; import com.ch.myviewattr.R; import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View; public class MyCircle extends View {
private Paint paint;
private int radius; public MyCircle(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
//获得自定义的属性,即获得自定义的半径
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.MyCircle);
radius = ta.getInt(R.styleable.MyCircle_radius, 0); }
//绘制的方法
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
paint = new Paint();
paint.setColor(Color.RED); // canvas.drawColor(Color.BLACK);
canvas.drawCircle(getMeasuredWidth()/2, getMeasuredHeight()/2, radius, paint);
super.onDraw(canvas);
} }

/MainActivity/res/layout/activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:myattr="http://schemas.android.com/apk/res/com.ch.myviewattr"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" > <com.ch.myviews.MyCircle
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
myattr:radius="200"
/> </RelativeLayout>

第二种
/MainActivity/res/values/attrs.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MyCircle">
<attr name="radius" format="integer"/>
<attr name="mycolor" format="reference|color"/>
</declare-styleable>
</resources>

/MainActivity/src/com/ch/myviews/MyCircle.java

package com.ch.myviews; import com.ch.myviewattr.R; import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View; public class MyCircle extends View {
private Paint paint;
private int radius;
private final static String NAMESPACE = "aaa1407a";
public MyCircle(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
//获得自定义的属性,即获得自定义的半径 radius = attrs.getAttributeIntValue(NAMESPACE, "radius", 0);
}
//绘制的方法
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
paint = new Paint();
paint.setColor(Color.RED); // canvas.drawColor(Color.BLACK);
canvas.drawCircle(getMeasuredWidth()/2, getMeasuredHeight()/2, radius, paint);
super.onDraw(canvas);
} }

/MainActivity/res/layout/activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:myattr="aaa1407a"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" > <com.ch.myviews.MyCircle
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
myattr:radius="200"
/> </RelativeLayout>

android自定义view属性的更多相关文章
- android 自定义View属性
在android开发过程中,用到系统的View时候可以通过XML来定义一些View的属性.比如ImageView: android:src 和android:scaleType为ImageVie ...
- Android读取自定义View属性
Android读取自定义View属性 attrs.xml : <?xml version="1.0" encoding="utf-8"?> < ...
- (转)[原] Android 自定义View 密码框 例子
遵从准则 暴露您view中所有影响可见外观的属性或者行为. 通过XML添加和设置样式 通过元素的属性来控制其外观和行为,支持和重要事件交流的事件监听器 详细步骤见:Android 自定义View步骤 ...
- Android 自定义View (五)——实践
前言: 前面已经介绍了<Android 自定义 view(四)-- onMeasure 方法理解>,那么这次我们就来小实践下吧 任务: 公司现有两个任务需要我完成 (1)监测液化天然气液压 ...
- Android 自定义 view(三)—— onDraw 方法理解
前言: 上一篇已经介绍了用自己定义的属性怎么简单定义一个view<Android 自定义view(二) -- attr 使用>,那么接下来我们继续深究自定义view,下一步将要去简单理解自 ...
- Android 自定义view(二) —— attr 使用
前言: attr 在前一篇文章<Android 自定义view -- attr理解>已经简单的进行了介绍和创建,那么这篇文章就来一步步说说attr的简单使用吧 自定义view简单实现步骤 ...
- [原] Android 自定义View步骤
例子如下:Android 自定义View 密码框 例子 1 良好的自定义View 易用,标准,开放. 一个设计良好的自定义view和其他设计良好的类很像.封装了某个具有易用性接口的功能组合,这些功能能 ...
- [原] Android 自定义View 密码框 例子
遵从准则 暴露您view中所有影响可见外观的属性或者行为. 通过XML添加和设置样式 通过元素的属性来控制其外观和行为,支持和重要事件交流的事件监听器 详细步骤见:Android 自定义View步骤 ...
- Android -- 自定义View小Demo,动态画圆(一)
1,转载:(http://blog.csdn.NET/lmj623565791/article/details/24500107),现在如下图的效果: 由上面的效果图可以看到其实是一个在一个圆上换不同 ...
随机推荐
- JMeter学习-017-java.net.SocketException: Permission denied: connect 解决方案
前几天,有了新的接口性能测试需求,同事在添加 HTTP请求 后,运行时响应信息如下所示: java.net.SocketException: Permission denied: connect at ...
- javascript知识点记录(1)
javascript一些知识点记录 1.substring,slice,substr的用法 substring 和slice 都有startIndex 和 endIndex(不包括endInex),区 ...
- JS-JQ实现TAB选项卡
原理: 有两种实现方法, 方法一利用css的display:none 和display:block:交替实现: 方法二利用css的z-index:
- 常用公共的css的样式
html{-webkit-text-size-adjust:none; /*解决chrome浏览器下字体不能小于12px*/} body{overflow-x: hidden; font-size:1 ...
- opengl 3.3 tutorial
http://www.mbsoftworks.sk/index.php?page=tutorials&series=1
- Android EditText 改变边框颜色
第一步:为了更好的比较,准备两个一模一样的EditText(当Activity启动时,焦点会在第一个EditText上,如果你不希望这样只需要写一个高度和宽带为0的EditText即可避免,这里就不这 ...
- 分享一下怎么开发一款图片视频类App,秒拍和prisma
第一步,分解短视频App的功能 我们在秒拍官网看到如此描述: [视频拍摄及导入]支持直接拍摄及导入手机本地的视频 [照片电影]照片专属特效,轻松创作照片电影 [MV特效]10余款全新MV特效,让普通视 ...
- Android之创建自定义属性
一. 在res/values 文件下定义一个attrs.xml 文件.代码如下: <?xml version="1.0" encoding="utf-8" ...
- psycopg2
简介 Psycopg 是Python语言的PostgreSQL数据库接口. 它的主要优势在于完全支持Python DB API 2.0,以及安全的多线程支持.它适用于随时创建.销毁大量游标的.和产生大 ...
- Oracle Hang Manager
名词术语1.Cross Boundary Hang 交叉边界hang.在12.1.0.1中,hang manager可以检测database和asm之间的hang.2.Deadlock or Clos ...