0

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

4

2 回答 2

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 它可以工作。(编辑:哦,但如果你有两行关心对齐的文本)

于 2011-04-04T16:40:42.640 回答
0

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

于 2011-10-24T17:43:45.420 回答