目前,我有自定义视图BarChart
。我希望它有一些红色阴影效果。我正在使用九种补丁图像技术来实现这一目标。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:minHeight="240dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/card_background_red"
android:orientation="vertical"
android:padding="0dp" >
<org.yccheok.jstock.gui.charting.BarChart
android:id="@+id/bar_chart"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
在我的自定义视图中,有一行代码,我将在视图的结尾处绘制字符串。
// Drawing string at end-y of BarChart custom view.
canvas.drawText("2007", x0, getHeight(), textPaint);
canvas.drawText("2008", x1, getHeight(), textPaint);
我从“触摸”任何红色阴影中避免我的自定义视图,我定义了9-patch的内容区域,以便它不会触及红色阴影。
正如您所看到的,内容区域几乎远离红色阴影。
我认为我绘制的文字永远不会触及红色阴影区域,因为我限制了我的内容区域(整个自定义视图?)远离红色阴影区域。但是,它不起作用。
我对9补丁图像的内容区域有错误的期望吗?我认为Linear Layout的“内容”是我的自定义视图BarChart
。因此,BarChart
不应该触及9补丁图像中特定的红色阴影。 (http://www.shubhayu.com/android/9-patch-image-designers-vs-developers)
答案 0 :(得分:11)
从LinearLayout中删除android:padding =“0dp”。它覆盖了9-patch的填充。