android 自定义属性,分享一个自适应容器,多用于显示图片,保证图片不变形

本文介绍了在Android开发中如何创建一个自适应容器,特别适用于展示图片且保持图片比例不变形。通过自定义属性,可以方便地复用代码,提高开发效率。
摘要由CSDN通过智能技术生成

自适应容器需要用到自定义属性,先简单了解自定义属性

TextView View Button 都有一些属性,例如 android:layout_width,这些都是系统定义的属性,可以直接用,当然这些属性在有些时候不能满足我们的需求,最常见的是在自定义控件的时候,网上的开源框架很多都有自定义控件,使用到自定义属性,这些自定义属性可以改变控件的样式等,方便使用者修改,
先看下系统的定义的属性,这些属性都是在别人的博客看到的
<declare-styleable name="View">
    <attr name="id" format="reference" />
    <attr name="background" format="reference|color" />
    <attr name="padding" format="dimension" />
     ...
    <attr name="focusable" format="boolean" />
     ...
</declare-styleable>

<declare-styleable name="TextView">
    <attr name="text" format="string" localization="suggested" />
    <attr name="hint" format="string" />
    <attr name="textColor" />
    <attr name="textColorHighlight" />
    <attr name="textColorHint" />
     ...
</declare-styleable>

<declare-styleable name="ViewGroup_Layout">
    <attr name="layout_width" format="dimension">
        <enum name="fill_parent" value="-1" />
        <enum name="match_parent" value="-1" />
        <enum name="wrap_content" value="-2" />
    </attr>
    <attr name="layout_height" format="dimension">
        <enum name="fill_parent" value="-1" />
        <enum name="match_parent" value="-1" />
        <enum name="wrap_content" value="-2" />
    </attr>
</declare-styleable>

<declare-styleable name="LinearLayout_Layout">
    <attr name="layout_width" />
    <attr name="layout_height" />
    <attr name="layout_weight" format="float" />
    <attr name="layout_gravity" />
</declare-styleable>

<declare-styleable name="RelativeLayout_Layout">
    <attr name="layout_centerInParent" format="boolean" />
    <attr name="layout_centerHorizontal" format="boolean" />
    <attr name="layout_centerVertical" format="boolean" />
     ...
</declare-styleable>
可以看到一些控件都有自己的属性,TextView是继承自view同时也有View的属性,name是属性的名字,format表示该属性能接受到值的类型
类型有很多种就不说了,在写自定属性的时候自动会提示的
接下来开始写自定义属性了
首先在res->values创建一个存放自定义属性的xml(attrs.xml),下面是要用到的属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值