LinearLayout中的几个按钮具有相等的宽度和单行文本

时间:2014-09-13 12:32:02

标签: android android-layout

我希望在LinearLayout

中有几个宽度相同的按钮

我的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true" >
    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="button" />
    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="button with long title" />
</LinearLayout></RelativeLayout>

但是在结果中(在eclipse设计工具中检查),带有较长文本的按钮会变成多行或者有ecllipsize!

如何使用宽度相等且单行全文的按钮。按钮宽度应该适合最长的标题。

有什么想法吗?


我通过编码解决了它,但继续对声明性解决方案感兴趣

3 个答案:

答案 0 :(得分:0)

试试这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:singleLine="true"
        android:text="button" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:singleLine="true"
        android:text="button with long title" />
</LinearLayout>

你必须放几个属性,即android:singleLine="true"&amp; android:gravity="center"在答案中。通过这种方式,您可以获得相同大小的button,并且只能使用单行。

答案 1 :(得分:0)

试试这个:

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" >

<Button
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:text="button" />

<Button
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:text="button with long title
</LinearLayout>

这将确保即使第二个按钮文本转到第二行,第一个按钮文本也会复制高度,它们最终看起来相似。

答案 2 :(得分:0)

试试这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true" >
    <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="button" />
    <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="button with long title" />
</LinearLayout></RelativeLayout>