shape 都可以绘画些什么形状 :
line 线性
oval 椭圆形
rectangle 矩形
ring 环形
/** Java代码实现shape背景绘制 */
TextView view = new TextView(UiUtil.getContext());GradientDrawable gradientDrawable1 = new GradientDrawable();// 形状-圆角矩形gradientDrawable1.setShape(GradientDrawable.RECTANGLE);// 圆角gradientDrawable1.setCornerRadius(8);int alpha = 255;int red = 55 + mRandom.nextInt(100);int green = 55 + mRandom.nextInt(100);int blue = 55 + mRandom.nextInt(100);// 随机颜色gradientDrawable1.setColor(Color.argb(alpha, red, green, blue));// 2GradientDrawable gradientDrawable2 = new GradientDrawable();gradientDrawable2.setShape(GradientDrawable.RECTANGLE);gradientDrawable2.setCornerRadius(8);gradientDrawable2.setColor(Color.GRAY);// 状态选择器StateListDrawable stateListDrawable = new StateListDrawable();// 按下状态的背景stateListDrawable.addState(new int[]{android.R.attr.state_pressed}, gradientDrawable2);// 常规状态的背景stateListDrawable.addState(new int[]{}, gradientDrawable1);// 应用到控件 -- API level 16view.setBackground(stateListDrawable);flowLayout.addView(view); //触发重绘