我可以解释一下,但我认为一张图片比单词更能解释我的问题:
这是我的布局。
<?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>
答案 0 :(得分:11)
我有同样的问题。原因是,baselineAligned
的默认值为true
,因此向下移动按钮以使文本位于同一基线上。将LinearLayout上的值设置为false
可以解决问题。
android:baselineAligned="false"
答案 1 :(得分:2)
如果文字太长,你的理想情况是什么?
尝试添加:
android:maxLines:"1"
按钮。
编辑:我不知道究竟是什么导致了您所看到的问题,但是这是一种更简单的方法来构建您的布局,似乎可以解决您在我的问题上遇到的问题设备
<?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" >
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="top"
android:padding="8dip" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<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"
android:layout_toRightOf="@id/button1"/>
<Button
android:id="@+id/button3"
android:layout_width="150dip"
android:layout_height="150dip"
android:text="Button"
android:layout_below="@id/button1"/>
<Button
android:id="@+id/button4"
android:layout_width="150dip"
android:layout_height="150dip"
android:text="Button"
android:layout_below="@id/button1"
android:layout_toRightOf="@id/button1"/>
</RelativeLayout>
</ScrollView>
</LinearLayout>
答案 2 :(得分:0)
试试这个:
<?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" >
<RelativeLayout >
<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:layout_toRightOf="@id/button1"
android:text="This is a long text to show how the button is moved when it has a long text on it" />
</RelativeLayout>
</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>
添加</LinearLayout>
最后一行。它没有显示在代码中。
它必须工作......