2

我有一个带有 9patch 背景的 textview,它有一个绘制的阴影。文本不在定义的框架中居中,而是以包括阴影在内的整个图像尺寸为中心。在 SDK 的 Draw9patch 工具中检查它可以正确显示内容空间,但文本忽略了这一点。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toast_layout_root"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center"
    android:gravity="center"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/toast_frame2"
        android:gravity="center"
        android:padding="10dp"
            android:text="Toast text"
        android:textColor="#444444"
        android:textSize="10sp" />

</LinearLayout>

在此处输入图像描述

如何让 textview 使用 9patch 定义?

4

1 回答 1

0

框架无法理解您正在绘制阴影。您需要使框架居中。测量框架和 9-patch 右侧边缘之间的像素,然后在框架左边缘和 90-patch 左边缘之间插入那么多空白像素列。重复顶部。

调整填充以防止文本与框架边缘重叠。

于 2013-05-20T23:05:46.430 回答