以下是我的应用的截图:
取自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" />
如下图所示,它非常清晰:
简单的水平线是可以的,但图形周围的矩形再次模糊。
我做错了什么?
感谢您的帮助。
答案 0 :(得分:4)
我的第一个猜测是这是双线性过滤的问题(http://en.wikipedia.org/wiki/Bilinear_filtering)。
要解决此问题,请参阅View#setLayerType方法。
我在自定义视图中遇到此问题。在我的视图的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
方法执行相同的操作。