在Android中的按钮内左对齐文本
Posted
技术标签:
【中文标题】在Android中的按钮内左对齐文本【英文标题】:Left align text inside a button in Android 【发布时间】:2012-07-05 10:55:24 【问题描述】:我想将按钮的文本向左对齐,我不知道如何做到这一点,请帮助我如何在 xml 文件中做到这一点。我没有找到这个的属性。
【问题讨论】:
请改写你的问题 :) 太不清楚了 告诉人们使用谷歌搜索 A) API 文档中缺少的内容和 B) 不明显和 C) 由谷歌的重叠 API 调用相互干扰引起的问题......没有帮助。 【参考方案1】:如果您必须支持多种不同的语言,最好使用start
或end
来定位文本。这种方式对于从右到左 (RTL) 语言仍然有效。
示例:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_
android:layout_
android:gravity="start|center_vertical"
android:text="Button" />
</LinearLayout>
【讨论】:
【参考方案2】:你可能两个都想要
android:gravity="left|center_vertical"
然后是一点空间
android:paddingLeft="5dp"
防止文本靠在按钮的左边缘。
(根据您的按钮艺术调整 padding_left 的数量。)
【讨论】:
你的意思是:android:gravity="left|center_vertical" android:paddingLeft="10dp" 所以我愿意!谢谢,已修复。【参考方案3】:android:gravity="left|center_vertical"
它会起作用,但现在您可能需要根据您的要求添加一些剩余的填充。
android:paddingLeft="10dp"
【讨论】:
【参考方案4】:正如其他人所提到的,"left|center_vertical"
有效,但我发现如果没有明确说明左或右,大多数属性默认为左。
因此,放置以下内容应该足以让您的文本左对齐和垂直居中:
android:gravity="center_vertical"
【讨论】:
【参考方案5】:也许这会对你有所帮助:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_
android:layout_
android:gravity="left|center_vertical"
android:text="Button" />
</LinearLayout>
【讨论】:
这是我缺少的|center_vertical
部分,谢谢@M-Mohsin-Naeem
应该考虑使用 android:gravity="start|center_vertical" 而不是 left
center_vertical
自动将文本左对齐。我需要我的文本向右对齐,所以center_vertical|right
为我工作。我不知道我可以用管道字符做到这一点,谢谢!
这没有回答原始问题。您正在移动按钮,而不是对齐按钮内的文本标签。【参考方案6】:
您可能需要 android:gravity
和 android:layout_gravity
来将文本与“左”对齐。
【讨论】:
【参考方案7】:这是对我有用的上面的组合,左侧的图标和左对齐的文本与一些填充
<Button
android:id="@+id/butt_labs"
android:layout_
android:layout_
android:drawableLeft="@drawable/dt_labjob"
android:paddingLeft="10dip"
android:gravity="left|center_vertical"
android:text="@string/l_labs" />
【讨论】:
【参考方案8】:android:gravity="left"
希望这会有所帮助
【讨论】:
谢谢,但这并不能移动按钮文本的中心,我所做的是 android:paddingRight="dp" 就是这样 我不太明白你的意思,你能解释一下吗? 他的意思很清楚。按钮上的文本应与按钮内的左侧对齐。下次推荐google之前先看问题。 是的,我的代码有什么问题?gravity
是对齐按钮内的文本,layout_gravity
是对齐按钮到父级
@user1497577,把它放在''元素里面。以上是关于在Android中的按钮内左对齐文本的主要内容,如果未能解决你的问题,请参考以下文章