textView 右上角红点及setBounds方法介绍

 

Drawable的setBounds方法有四个参数,setBounds(int left, int top, int right, int bottom),这个四参数指的是drawable将在被绘制在canvas的哪个矩形区域内。

例如

@Override
    protected void onDraw(Canvas canvas) {
        drawable.setBounds(100, 100, 500, 500);
        drawable.draw(canvas);
    }

上面的代码会将drawable绘制在canvas内部(100,100,500,500)表示的矩形区内(这个矩形区域的坐标是以canvas左上角为坐标原点的)

一.textview已经指定了drawableTop的图片,但是需要在Java中重新更换一张图片:

//获取更换的图片
Drawable drawable=geeResources().getDrawable(R.drawable.close);
//setBounds(x,y,width,height)
drawable.setBounds(0,0,drawable.getMinimumWidth(),drawable.getMinimumHeight());
//mDownLoad是控件的名称,setCompoundDrawables(left,top,right,bottom)
mDownLoad.setCompoundDrawables(null,drawable,null,null);

二.textView右上角小红点效果图:

 

textView 右上角红点及setBounds方法介绍_第1张图片

 

Drawable drawable = mContext.getResources().getDrawable(R.drawable.layer_list_red_dot,null);
drawable.setBounds(1,1,40,60);
viewHolder.timeTextView.setCompoundDrawables(null,null,drawable,null);

drawable文件夹下创建:\res\drawable\layer_list_red_dot.xml

 



  
    
    
    
  

布局文件中TextView:

 

红点:

 

你可能感兴趣的:(android)