我想创建一个像素笔划矩形,但android渲染两个像素。
这是我的xml代码:
<item>
<shape android:shape="rectangle">
<solid android:color="#FFF" />
<stroke android:width="1px" android:color="#000" />
</shape>
</item>
以下是渲染内容的左上角:
我唯一的猜测是这个背景没有与设备像素对齐。
答案 0 :(得分:0)
那么,基本上是一条线?您可以尝试使用类似
的内容<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line">
<solid android:color="#FFF" />
<stroke android:width="1px" android:color="#000"/>
</shape>
编辑:哎呀,觉得我误解了。我猜你总是可以用线画一个矩形。
答案 1 :(得分:0)
px在不同的屏幕尺寸上有不同的含义。我猜这是在更大的屏幕上?尝试将单位更改为dp,消除锯齿效果应消失
编辑:实际上,如果您只是希望屏幕上线条的物理厚度为当前尺寸的一半,则不会解决您的问题。它会使它在所有类型的屏幕上看起来都相同并保持稳固的外观,如果这是你的抱怨
答案 2 :(得分:0)
这是由蜂窝状和后来引入的双线性过滤引起的。有两种解决方案:
使用此标记
禁用清单中的所有硬件加速(坏主意)机器人:硬件加速=&#34;假&#34;
在受影响的视图上使用xml属性仅使用软件进行渲染
机器人:layerType =&#34;软件&#34;
我在这里找到了解决方案: