使用内置属性的Android自定义图像视图

时间:2015-11-17 16:16:03

标签: android


这是我在这里的第一个问题,所以请放轻松我;)

  1. 我已经制作了我的自定义View课程ImageView

    public class CustomImageView extends ImageView {
        // ...
    }
    
  2. 我已为<declare-styleable>文件中attrs.xml项的形状创建了一组自定义参数。

    <declare-styleable name="CustomImageView">
        <attr name="angle" format="integer"/>
    </declare-styleable>
    
  3. 我已经弄清楚如何访问(即从类中读取并在布局中设置)这些值。

    TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.CustomImageView, 0, 0);
    
    try {
        a.getInt(R.styleable.CustomImageView_angle, 0);
    } finally {
        a.recycle();
    }
    

    到目前为止,这么容易。以上所有内容均直接取自guide

  4. 但是,我无法弄清楚如何访问ImageView类的继承属性。具体来说,我想阅读设置为src的{​​{1}}属性的内容。我假设我必须为ImageView电话的第二个参数使用不同的值,但我不知道在那里使用什么,这显然不起作用:

    obtainStyledAttributes(...)

    那么,我如何访问超类的内置属性?
    如何获取为a = context.getTheme().obtainStyledAttributes(attrs, ImageView, 0, 0); 属性设置的int值(drawable res id)?

    感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

  

如何获取为其设置的int值(drawable res id)   android:src属性?

使用getAttributeResourceValue获取id的{​​{1}}:

drawable