首页 > 代码库 > setCompoundDrawables与setCompoundDrawablesWithIntrinsicBounds
setCompoundDrawables与setCompoundDrawablesWithIntrinsicBounds
1.setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom)
api:Sets the Drawables (if any) to appear to the left of, above, to the right of, and below the text. Use null if you do not want a Drawable there. The Drawables must already have had setBounds(Rect)
called.
大意:可以在上、下、左、右设置图标,如果不想在某个地方显示,则设置为null。但是Drawable必须已经setBounds(Rect)(设置过初始位置、宽和高等信息)。
1 Resources res = getResources();2 Drawable image = res.getDrawable(R.drawable.image);3 image.setBounds(1, 1, 50, 50);4 button.setCompoundDrawables(image, null, null, null);
2.setCompoundDrawablesWithIntrinsicBounds(Drawable left, Drawable top, Drawable right, Drawable bottom)
api:Sets the Drawables (if any) to appear to the left of, above, to the right of, and below the text. Use null if you do not want a Drawable there. The Drawables‘ bounds will be set to their intrinsic bounds.
大意:可以在上、下、左、右设置图标,如果不想在某个地方显示,则设置为null。图标的宽高将会设置为固有宽高,既自动通过getIntrinsicWidth和getIntrinsicHeight获取。
1 RadioButton button = (RadioButton) group.getChildAt(i); Resources res = getResources();2 Drawable Image = res.getDrawable(R.drawable.image);3 button.setCompoundDrawablesWithIntrinsicBounds(null,Image, null, null);