我有一排带有自定义9补丁图像和可变长度文本的按钮。我希望按钮的高度相同。当文本足够长以包装时,它会扩展按钮大小,使包装文本的按钮比其他文本更大。我将这些按钮放在线性布局的代码中。我可以修复按钮的大小,但它只是切断了底部。如何使文本占用按钮的填充空间,以便文本与按钮的顶行对齐?
答案 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)
最终,如果不创建自定义视图类,我无法找到一种很好的方法。