AndroidカスタムView backgroundの色と画像を取得

1135 ワード

私たちはViewをカスタマイズするときにbackgroundを使用することがあります.呼び出し者がよりよく使用するために、Androidが持っているbackground属性を多重化することができます.カスタム属性ではありません.
backgroundを取得して変更する内容は次のとおりです(カスタムTextViewの例).
        paint = new Paint();
        paint.setAntiAlias(true);
        Drawable background = getBackground();
        //background  color Drawable,      
        if (background instanceof ColorDrawable) {
            ColorDrawable colordDrawable = (ColorDrawable) background;
            int color = colordDrawable.getColor();
            paint.setColor(color);
            setBackgroundDrawable(null);
        } else {
            bgBitmap = ((BitmapDrawable) background).getBitmap();
            setBackgroundDrawable(null);
        }
        paint.setStyle(Paint.Style.FILL);

それぞれ中のcolorやDrawableを手に入れてから、自分のニーズに合わせて背景を修正することができます.