android DividerView
时间: 2023-07-22 15:30:02 浏览: 261
Android带分隔线的GridView
4星 · 用户满意度95%
在 Android 中,可以通过自定义 View 来实现分割线效果,以下是一个简单的 DividerView 示例:
```java
public class DividerView extends View {
private Paint mPaint;
private int mColor;
private int mHeight;
public DividerView(Context context) {
this(context, null);
}
public DividerView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public DividerView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
// 初始化画笔
mPaint = new Paint();
mPaint.setStyle(Paint.Style.FILL);
mPaint.setAntiAlias(true);
// 获取自定义属性值
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.DividerView);
mColor = ta.getColor(R.styleable.DividerView_dividerColor, Color.GRAY);
mHeight = ta.getDimensionPixelSize(R.styleable.DividerView_dividerHeight, 1);
ta.recycle();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 设置画笔颜色和宽度
mPaint.setColor(mColor);
mPaint.setStrokeWidth(mHeight);
// 绘制分割线
canvas.drawLine(0, getHeight() / 2f, getWidth(), getHeight() / 2f, mPaint);
}
}
```
在 layout 文件中使用 DividerView:
```xml
<com.example.DividerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerColor="#CCCCCC"
app:dividerHeight="2dp" />
```
通过自定义 View,我们可以快速轻松地实现分割线效果。
阅读全文