0

我正在构建一个需要进行布局的应用程序。通常我使用相对布局和自定义视图来完成我的工作,但是这一次,我想使用线性布局,所以我在 XML 下制作了这个。我的目标是在父级内部创建一个子级线性布局,并将子级的重力设置为“底部”,这将保持我的两个底部,一个应该右对齐,一个应该左对齐。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:gravity="bottom"       
    >       
   <Button            
        android:gravity="left"
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Previous" />
   <Button            
        android:id="@+id/button3"
        android:layout_gravity="right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Next"/>
</LinearLayout>

孩子坐在底部,但是按钮的两个视图没有正确对齐。我是不是做错了什么,或者这些事情不能通过这个Layout来实现?

4

5 回答 5

2

试试这个布局..希望这对你有帮助

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingLeft="5dp"
    android:paddingRight="5dp" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/button2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Previous" />

        <Button
            android:id="@+id/button3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Next" />
    </LinearLayout>

</RelativeLayout>
于 2014-05-27T10:07:29.983 回答
2

使用的纯线性布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:orientation="vertical"
    android:weightSum="1">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"></LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:weightSum="2">

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Previous"
            android:id="@+id/button"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Next"
            android:id="@+id/button2"
            android:layout_weight="1" />
    </LinearLayout>

为了解释你需要最大限度地利用weightSum这个。另一个不包含任何内容的布局也可以包含您的其他小部件,以防万一您需要添加一些 TextViews 等。这也适用于其他布局将被强制放置在整个父 LinearLayout 的底部。

万一您想在中间的这两个按钮之间留出空间,您可以随时使用填充。;)

于 2014-05-27T10:13:03.353 回答
0
you can do this using Relative layout easily

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:gravity="bottom"       
    >  
      <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >      
   <Button            
        **android:layout_alignParentLeft=true**
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Previous" />
   <Button            
        android:id="@+id/button3"
        **android:layout_alignParentRight=true**
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Next"/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
于 2014-05-27T10:10:13.677 回答
0

试试下面的代码。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:orientation="vertical"
android:gravity="bottom" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="bottom"       
    >       
   <Button            
        android:gravity="left"
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Previous" />
   <Button            
        android:id="@+id/button3"
        android:layout_gravity="right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Next"/>
</LinearLayout>
于 2014-05-27T10:19:05.010 回答
0
// Try this way,hope this will help you to solve your problem...

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="bottom"
    android:padding="5dp">


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

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button1"/>
        <View
            android:layout_width="0dp"
            android:layout_height="1dp"
            android:layout_weight="1"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button2"/>
    </LinearLayout>
</LinearLayout>
于 2014-05-27T10:32:31.140 回答