Android LinearLayout未对齐

时间:2014-10-18 22:01:14

标签: android android-layout

为什么TextViewButton未对齐?它们应该具有相同的高度,并且没有强制执行。我试图用引力修复但是没有用。这是一个错误吗?

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/tv1"
        android:layout_width="70sp"
        android:layout_height="wrap_content"
        android:text="My test test test test test test test test test test"
        android:textSize="10sp" />

    <Button
        android:id="@+id/btn1"
        android:layout_width="90sp"
        android:layout_height="wrap_content"
        android:text="My Button 1 Button Button"
        android:textSize="10sp" />

    <Button
        android:id="@+id/btn2"
        android:layout_width="90sp"
        android:layout_height="wrap_content"
        android:text="My Button 2 Button Button"
        android:textSize="10sp" />

    <Button
        android:id="@+id/btn3"
        android:layout_width="70sp"
        android:layout_height="wrap_content"
        android:text="Info"
        android:textSize="10sp" />
</LinearLayout>

Layout rendered

4 个答案:

答案 0 :(得分:1)

由于LinearLayout基线对齐而在这里您有一个完整的解释http://www.doubleencore.com/2013/10/shifty-baseline-alignment/

答案 1 :(得分:0)

android:baselineAligned="false" 

答案 2 :(得分:0)

是的,它是线性布局的缺点......你没有太多的选择......而是使用相对布局或者......设置&#34; android:baselineAligned =&#34; false&#34; &#34;作为线性布局属性或设置按钮的顶部边距......就像我一样 喜欢

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:orientation="horizontal">

<TextView
    android:id="@+id/tv1"
    android:layout_width="70sp"
    android:layout_height="60dp"
    android:text="My test test test test test test test test test test"
    android:textSize="10sp"/>

<Button
    android:id="@+id/btn1"
    android:layout_width="90sp"
    android:layout_height="60dp"
    android:text="My Button 1 Button Button"
    android:textSize="10sp"
    android:layout_marginTop="16dp" />

<Button
    android:id="@+id/btn2"
    android:layout_width="90sp"
    android:layout_height="60dp"
    android:text="My Button 2 Button Button"
    android:textSize="10sp"
    android:layout_marginTop="16dp" />

<Button
    android:id="@+id/btn3"
    android:layout_width="70sp"
    android:layout_height="60dp"
    android:text="Info"
    android:textSize="10sp"
    android:layout_marginTop="22dp" />
 </LinearLayout>

答案 3 :(得分:0)

尝试将线性布局重力设置为垂直居中:

...
android:gravity="center_vertical"
...

希望它有所帮助。