Java 以编程方式将GradientDrawable的高度更改为textview背景
我修改了GradientDrawable by setBounds()的高度 我的文本视图的形状很好 但textview的高度也发生了变化 我能做些什么,只是为了让身材更高Java 以编程方式将GradientDrawable的高度更改为textview背景,java,android,shape,Java,Android,Shape,我修改了GradientDrawable by setBounds()的高度 我的文本视图的形状很好 但textview的高度也发生了变化 我能做些什么,只是为了让身材更高 一个简单的解决方案是在文本视图后面有一个ImageView,并在该ImageView中进行高度更改。发布图像,我想要图像中的右侧形状,只需稍作调整,即可使形状看起来更好。 private Drawable getTagBackground(int iColor, final int iTextViewWidth, fina
一个简单的解决方案是在文本视图后面有一个ImageView,并在该ImageView中进行高度更改。发布图像,我想要图像中的右侧形状,只需稍作调整,即可使形状看起来更好。
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;
}