我可以解释,但我认为一张图片比文字更能解释我的问题:
这是我的布局。
<?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>
最佳答案
我也有同样的问题。其原因是,默认值baselineAligned
是true
,因此向下移动按钮使文本位于同一基线上。将linearlayout上的值设置为false
可以解决问题。
android:baselineAligned="false"
关于android - 当我在上面放一个长文本时按钮向下移动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10906638/