我想制作一个像底部弯曲的图片中的布局。
我尝试在stackoverflow中使用一些示例,但无法准确了解如何执行此操作。
现在我正在尝试使用可绘制的xml并将其包含在布局中:
`<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
<padding
android:bottom="5dp"
android:left="20dp"
android:right="0dp"
android:top="0dp" />
<stroke
android:width="0.5dp"
android:color="@color/colorPrimary" />
<solid android:color="@color/colorPrimary" />
</shape>`
答案 0 :(得分:1)
你可以这样做 -
创建自定义视图为 -
public class CustomDrawableView extends View {
Paint paint;
void init(){
paint = new Paint();
}
}
现在在onDraw()方法中你可以绘制为 -
首先绘制一个高度= getHeight()/ 2的矩形
width = getWidth()
onDraw(Canvas canvas){
Rect r = new Rect(0, 0, width , height );
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED);
canvas.drawRect(r, paint);
int centerX=widht;
int centerY = -50;
int radius = Math.sqrt((0-centerX)*(0-centerX) + (height-centerY )*(height-centerY));
canvas.drawCircle(width, height -50 , radius, paint); // for big circle
}
将CustomDrawableView的高度和宽度设置为与父级匹配,您也可以根据需要调整中心。