Ich erstelle ein benutzerdefiniertes RelativeLayout, um einen Rahmen hinzuzufügen. Der Rahmen wird nicht angezeigt. Wenn ich Hintergrundattribut hinzufüge, erscheint die Grenze. Wenn ich Hintergrundattribute entferne, verschwindet Rand. Ich möchte Rand ohne Hintergrundattribut zeigen. Kann mir jemand erklären, wie ich dieses Problem lösen kann.Benutzerdefinierte RelativeLayout-Grenze, die nicht angezeigt wird
Hier ist mein Code ...
public class BorderRelativeLayout extends RelativeLayout {
Paint paint;
Rect rect;
public BorderRelativeLayout(Context context) {
super(context);
init();
}
public BorderRelativeLayout(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public void init(){
paint = new Paint();
paint.setColor(Color.RED);
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(20f);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
rect = new Rect(0,0,getWidth(),getHeight());
canvas.drawRect(rect,paint);
}
}
Ihr Design hochladen. Vielleicht kann ich Ihnen helfen, anstatt ein Layout anzupassen –