当我在上面放一个长文本时按钮向下移动

Cha*_*ake 4 android button

我可以解释一下,但我认为一张图片比文字更好地解释了我的问题:

例

这是我的布局.

<?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="fill_parent"
android:orientation="vertical" >

<include
    android:id="@+id/include1"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    layout="@layout/action_bar" />


<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="top"
    android:padding="8dip" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center" >

            <Button
                android:id="@+id/button1"
                android:layout_width="150dip"
                android:layout_height="150dip"
                android:text="This is a short text" />

            <Button
                android:id="@+id/button2"
                android:layout_width="150dip"
                android:layout_height="150dip"
                android:text="This is a long text to show how the button is moved when it has a long text on it" />
        </TableRow>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/button3"
                android:layout_width="150dip"
                android:layout_height="150dip"
                android:text="Button" />

            <Button
                android:id="@+id/button4"
                android:layout_width="150dip"
                android:layout_height="150dip"
                android:text="Button" />
        </LinearLayout>
    </LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

rek*_*ire 11

我遇到过同样的问题.原因是,默认值baselineAlignedtrue,所以按钮向下移动以使文本在同一基线上.设置LinearLayout上的值以false解决问题.

android:baselineAligned="false"
Run Code Online (Sandbox Code Playgroud)