我已经关注了9patch,感谢那些回答我之前问题的好人:
我在相对布局和TextView中使用它作为背景并得到了以下内容。 那是RelativeLayout:
<RelativeLayout
android:id="@+id/relativeHeader"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:orientation="horizontal"
android: background="@drawable/cap_stack">
对于TextView:
<TextView
android:paddingTop="5dp"
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="22dp"
android:background="@drawable/cap_stack"
android:textStyle="bold"
android:textColor="#FFFFFF"/>
如您所见,在两种情况下都可以看到1px宽线。如果TextView文本没有放在中心垂直。我该如何解决它(是可绘制的问题还是xml)?将不胜感激任何帮助
答案 0 :(得分:1)
你不应该有完整的边框。顶部和左侧边框定义了拉伸区域(您只需要顶部的一个像素进行拉伸,并且您希望JUST渐变在垂直轴上拉伸)。底部和右边框定义了内容区域,因此您也想要留下一些填充。永远不应该填充四个角落像素。
试试这个:
或者这个:
答案 1 :(得分:1)
尝试使用textview,问题是你的layout_height你想要的是textSize属性。此外,请注意我使用的是SP单元而不是DP,因为这是文档建议的文本大小值。我希望这有帮助!
<TextView
android:paddingTop="5dp"
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textSize="22sp"
android:background="@drawable/cap_stack"
android:textStyle="bold"
android:textColor="#FFFFFF"/>
答案 2 :(得分:0)
您是否将图片命名为cap_stack.9.png
?似乎android并没有把它当作9patch处理。
答案 3 :(得分:0)
android:gravity =“center_vertical”仅适用于LinearLayout,对于relativeLayout使用Layout_centerVertical = true。
并且边框上的线条似乎是您图像的一部分,没有看到任何其他可能性//////所以重新检查图像可能会有所帮助。