如何使按钮文本扩展到9个补丁内容区域之外?

时间:2011-04-04 16:29:51

标签: android nine-patch

我有一排带有自定义9补丁图像和可变长度文本的按钮。我希望按钮的高度相同。当文本足够长以包装时,它会扩展按钮大小,使包装文本的按钮比其他文本更大。我将这些按钮放在线性布局的代码中。我可以修复按钮的大小,但它只是切断了底部。如何使文本占用按钮的填充空间,以便文本与按钮的顶行对齐?

2 个答案:

答案 0 :(得分:1)

9patch内容区域仅用于设置填充。如果更改按钮的填充,则将覆盖9patch设置的填充。

修改

尝试这样的事情:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <Button android:text="ButtonButton"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:paddingTop="0dp"
        android:paddingBottom="10dp"/>
    <Button android:layout_width="wrap_content" android:text="Button"
        android:layout_height="match_parent"/>
    <Button android:layout_width="wrap_content" android:text="Button"
        android:layout_height="match_parent"/>
</LinearLayout>
这样按钮就会和其他按钮一样高。可悲的是,我不知道它是否依赖于可能具有不对称填充的原始按钮的9patch,但我无法使文本与其他按钮的文本对齐(我认为重力默认设置为居中)。也许你的9patch它可以工作。 (编辑:哦,但是如果你有两行文字关心对齐的话)

答案 1 :(得分:0)

最终,如果不创建自定义视图类,我无法找到一种很好的方法。