这是我的应用程序的屏幕截图:
它取自Samsung Galaxy Note
10.1 (mdpi
149 ppi
).
我的客户认为底部按钮周围的边框线和上面的圆角矩形是模糊的。
我使用形状作为背景,如下所示:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
>
<corners
android:radius="8dp" />
<stroke android:width="1dp" android:color="@color/dark_gray" />
<solid android:color="@color/sepia_bright" />
</shape>
当我使用简单视图作为具有 1dp 高度的线时,如下所示:
<View
android:background="@color/bright_gray"
android:layout_width="match_parent"
android:layout_height="1dp" />
正如您在下一个屏幕截图中看到的那样,它非常清晰:
简单的水平线还可以,但图形周围的矩形又变得模糊了。
我究竟做错了什么?
谢谢你的帮助。
我的第一个猜测是这是双线性过滤的问题(http://en.wikipedia.org/wiki/Bilinear_filtering http://en.wikipedia.org/wiki/Bilinear_filtering).
要修复它,请参阅查看#setLayerType http://developer.android.com/reference/android/view/View.html#setLayerType%28int,%20android.graphics.Paint%29%20%22View#setLayerType method.
我在自定义视图中遇到了这个问题。在我的视图的 init 方法中,我有以下代码:
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB){
this.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
这解决了我的问题,但是您可以使用android:layerType
xml 属性,或setLayerType
您认为代码中的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)