android 自定义控件 attrs,android 使用attrs自定义控件

android 自定义控件 attrs,android 使用attrs自定义控件步骤:1、在values下新建一个attrs.xml的资源文件(my_attrs.xml)//===》name为引用资源的名称//attr中的name为自定义的名称format为类型//字体颜色//字体大小//字符串2、新建一个类MyAttrsMyView继承View覆写publicMyAttrsMyView(Contextcontext,Attribu…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

步骤:

1、在values下新建一个attrs.xml的资源文件(my_attrs.xml)

    //===》name为引用资源的名称

// attr中的 name为自定义的名称   format 为类型

  // 字体颜色

  //字体大小

   //字符串

2、新建一个类MyAttrsMyView继承 View

覆写public MyAttrsMyView(Context context, AttributeSet attrs)方法

@SuppressLint(“NewApi”)

public MyAttrsMyView(Context context, AttributeSet attrs) {

super(context, attrs);

// TODO Auto-generated constructor stub

mPaint = new Paint();    //定义画笔

imageView = new ImageView(context);   //图片

imageView.setImageResource(R.drawable.ww);  //加载图片资源

TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.My_attrs);   //获取自定义的attrs中的资源

float textsize = a.getDimension(R.styleable.My_attrs_TextSize, 40);

int c = a.getColor(R.styleable.My_attrs_TextColor, 0x990000FF);

s = a.getString(R.styleable.My_attrs_Text);

mPaint.setColor(c);

mPaint.setTextSize(textsize);

a.recycle(); //结束标记

}

@Override

protected void onDraw(Canvas canvas) {

// TODO Auto-generated method stub

super.onDraw(canvas);

//canvas.drawRect(new Rect(10, 10, 280, 200), mPaint);

//((BitmapDrawable)imageView.getDrawable()).getBitmap() ;将imageview转换成bitmap

canvas.drawBitmap(((BitmapDrawable)imageView.getDrawable()).getBitmap(), 1, 20, mPaint);

//canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.ww), 10, 10, mPaint);

canvas.drawText(s, 1, 100, mPaint);

}

3、最后一步

第一种写法    在activity中 , 直接new出自定义的类即可

MyView = new MyAttrsMyView(this,null);

setContentView(MyView);

第二种写法    利用xml

1、在xml中 

2、在其根布局 添加声明  :  xmlns:ymy(自己起的名)=”http://schemas.android.com/apk/res/项目的主包名”

3、给自定义的控件中添加attrs 中定义好的属性  :  ymy:Text = “顺丰快递”

xmlns:ymy=”http://schemas.android.com/apk/res/com.ming”

android:layout_width=”match_parent”

android:layout_height=”match_parent”

android:orientation=”vertical” >

android:layout_width=”400dp”

android:layout_height=”300dp”

ymy:TextColor = “#ABCDEFEF”         ymy:Text = “顺丰快递”         ymy:TextSize = “12sp”         />

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180882.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • google域名邮箱申请 gmail域名邮箱申请(企业应用套件)指南

    google域名邮箱申请 gmail域名邮箱申请(企业应用套件)指南

    2021年12月2日
    57
  • iframe自适应高度_jquery取iframe文本

    iframe自适应高度_jquery取iframe文本超级简单的方法,也不用写什么判断浏览器高度、宽度啥的。下面的两种方法自选其一就行了。一个是放在和iframe同页面的,一个是放在test.html页面的。注意别放错地方了哦。iframe代码

    2022年10月12日
    1
  • 百度网盘下载提速,推荐3种亲测有效的方法

    百度网盘下载提速,推荐3种亲测有效的方法凉透的下载工具自从PanDownload事件之后,陆续出了很多第三方的度盘不限速下载神器,但是最后都凉了,这些第三方下载神器,都是个人开发者,即便有盈利也承受不起巨大的风险。甚至有款下载神器,用爱发电!流程是这样的,1.用户提交下载链接,2.然后开发者先下载好资源(当然开发者开的是超级会员),3.最后下载完成后保存到阿里云,然后再发送给用户。当然最后还是凉凉了!比如PDown、Dupan、忆寻,最终还是都死掉了,很可惜!现在还有没有百度网盘加速下载的方法呢?这里从解决实际问题的角度上,给大家

    2022年4月28日
    51
  • WiFi6介绍「建议收藏」

    WiFi6介绍「建议收藏」Wi-Fi发展历程时间Wi-Fi标准传输速率工作频段其它1997年802.112Mbps改变用户接入方式,使人们从线缆解放出来1999年802.11b11Mbps2.4GHz1999年802.11a54Mbps5GHz网络中等吞吐量20Mbps2003年802.11g54Mbps2.4GHz净传输速率为24.7Mbps2009年802.11n(WIFI4)600Mbps2.4GHz&5GHz重大改进,引

    2022年7月21日
    19
  • Mit6.S081-实验1-Xv6 and Unix utilities

    Mit6.S081-实验1-Xv6 and Unix utilitiesMit6.S081-实验1-Xv6andUnixutilities前言一、Bootxv61,实验目的2,操作流程1)切换到xv6-labs-2020代码库的lab1分支2)启动xv63)测试xv64)过程分析5)其他操作二、在xv6中添加一个自己编写的程序1,源码准备2,编译配置3,测试添加程序4,过程分析三、xv6中shell简析前言一、Bootxv61,实验目的利用qemu启动xv62,操作流程1)切换到xv6-labs-2020代码库的lab1分支gitcheckoutut

    2022年9月26日
    0
  • select top语句 mysql_SQL SELECT TOP 语句[通俗易懂]

    select top语句 mysql_SQL SELECT TOP 语句[通俗易懂]SELECTTOP子句用于规定要返回的记录的数目。SELECTTOP子句对于拥有数千条记录的大型表来说,是非常有用的。注释:并非所有的数据库系统都支持SELECTTOP子句。SQLServer/MSAccess语法SELECTTOPnumber|percentcolumn_name(s)FROMtable_name;MySQL和Oracle中的SQLSEL…

    2022年7月13日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号