作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试为我的 View 创建一个描边,如果 left 和 top 为 0,它会很好地工作。在我更改 left
矩形后,左边缘笔划比正常情况下大。例如,我将 left
设置为 10
public class SimpleView extends View {
Paint paint = new Paint();
RectF bodyRect = new RectF();
...
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
bodyRect = new RectF(10, 0, getWidth(), getHeight());
paint.setColor(Color.WHITE);
paint.setStrokeWidth(20);
paint.setStyle(Paint.Style.STROKE);
canvas.drawRect(bodyRect,paint);
}
}
xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
...
android:background="#000">
<...SimpleView
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_margin="50dp"
android:background="#f00" />
</LinearLayout>
左边的笔划更大
如果我使用
bodyRect = new RectF(0, 0, getWidth(), getHeight());
如有任何帮助,我们将不胜感激。
最佳答案
我只是找到了解决方案。它并不大。 Stroke 默认不显示FULL
如果我这样做,整个笔画可以显示
bodyRect = new RectF(10, 10, getWidth()-10, getHeight()-10); // 10 = strokeWidth/2
关于android - Rect改左后笔画的边变大了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54397552/
我是一名优秀的程序员,十分优秀!