我通过setBounds()修改GradientDrawable的高度。
我的课本状况很好。
但textview的高度也已更改。
我只能做什么才能使形状更高?
private Drawable getTagBackground(int iColor, final int iTextViewWidth, final int iTextViewHeight) {
final float RATIO_SHAPE_WIDTH = 1.5f;
final float RATIO_SHAPE_HEIGHT = 2.3f;
final int STROKE_WIDTH = 3;
final float CORNER_RADIUS = 40f;
GradientDrawable gd = new GradientDrawable() {
@Override
public int getIntrinsicWidth() {
return (int)(super.getIntrinsicWidth() * RATIO_SHAPE_WIDTH);
}
@Override
public int getIntrinsicHeight() {
return (int)(super.getIntrinsicHeight() * RATIO_SHAPE_HEIGHT);
}
};
gd.setShape(GradientDrawable.RECTANGLE);
gd.setSize(iTextViewWidth, iTextViewHeight);
gd.setColor(Color.TRANSPARENT);
gd.setStroke(STROKE_WIDTH, iColor);
gd.setCornerRadius(CORNER_RADIUS);
//gd.setBounds(0, 0, iTextViewWidth, iTextViewHeight * 2);
return gd;
}
答案 0 :(得分:0)
一种简单的解决方案是在TextView后面放置一个ImageView并在该ImageView中进行高度更改。