android linearlayout 圆形
时间: 2023-06-30 21:23:57 浏览: 82
Android的LinearLayout本质上是一个矩形的布局容器,如果需要展示圆形的布局,可以使用其他布局容器,比如FrameLayout或RelativeLayout,并设置圆形的背景。
可以通过设置布局容器的背景为圆形形状的Drawable实现。比如,可以使用以下代码创建一个圆形Drawable:
```java
public class CircleDrawable extends Drawable {
private Paint mPaint;
private int mColor;
public CircleDrawable(int color) {
mPaint = new Paint();
mPaint.setAntiAlias(true);
mColor = color;
}
@Override
public void draw(Canvas canvas) {
Rect bounds = getBounds();
int cx = bounds.centerX();
int cy = bounds.centerY();
int radius = Math.min(bounds.width(), bounds.height()) / 2;
mPaint.setColor(mColor);
canvas.drawCircle(cx, cy, radius, mPaint);
}
@Override
public void setAlpha(int alpha) {}
@Override
public void setColorFilter(ColorFilter colorFilter) {}
@Override
public int getOpacity() {
return PixelFormat.TRANSLUCENT;
}
}
```
然后将这个Drawable设置为布局容器的背景,即可实现圆形布局。例如:
```xml
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/circle_background">
<!-- 子控件 -->
</RelativeLayout>
```
阅读全文