0

我试图将一个文本视图设置在左侧对齐,两个按钮在右侧对齐,如图所示。我正在使用边距,但我想这不是最好的解决方案,它会在不同的手机中发生变化,无论如何我的第二个按钮不会出现在应用程序中。这是我拥有的 xml 代码:

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

     <LinearLayout
      android:orientation="horizontal"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:background="#807E7B">     
        <TextView
            android:id="@+id/txtForum"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
                android:textStyle="bold"
                android:textSize="25dp"
                android:textColor="#255094"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="5dp"
                android:layout_marginBottom="5dp"
                >
          </TextView>

        <Button
              android:id="@+id/btnBack"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:gravity="right"
              android:text="New Thread"
              android:layout_marginLeft="80dp"
              android:layout_marginBottom="5dp">
        </Button>

        <Button
              android:id="@+id/btnBrowser"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:gravity="right"
              android:text="Browser"
              android:layout_marginLeft="100dp"
              android:layout_marginBottom="5dp">
        </Button>
    </LinearLayout>

   <ListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:cacheColorHint="#00000000">
    </ListView>
</LinearLayout>

这是我所期望的:

http://i47.tinypic.com/jheq1k.png

谢谢

4

5 回答 5

3

使用RelativeLayoutand 为您的 TextView 设置属性

android:layout_alignParentLeft="true"

右侧集合中的按钮

android:layout_alignParentRight="true"

第二个

android:layout_toLeftOf="@+id/your_button"
于 2012-11-29T18:21:22.243 回答
3

使用这个布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:padding="10dip" >

    <RelativeLayout
        android:id="@+id/upperView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/darker_gray"
        android:orientation="vertical"
        android:padding="10dip" >

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:text="Hello.."
            android:textColor="@android:color/white" />

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:text="Button 1" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/button1"
            android:text="Button 2" />
    </RelativeLayout>

    <ListView
        android:id="@+id/listView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/upperView" />

</RelativeLayout>

你最终会得到

在此处输入图像描述

于 2012-11-29T18:24:50.077 回答
1

尝试使用相对布局,这会更容易,因为在相对布局中,所有视图都是相对于彼此定义的,因此它们适合多种屏幕尺寸。在这里阅读更多内容:

于 2012-11-29T18:20:21.253 回答
0

作为每个人的答案的补充,将<merge/>标签用作根标签并将其放入RelativeLayout其中会很棘手ListView

于 2012-11-29T18:35:38.623 回答
0

例如:

       <RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#807E7B"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/txtForum"
        android:text="YOUR_TEXT"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerInParent="true"
        android:textColor="#255094"
        android:textSize="25sp"
        android:textStyle="bold" >
    </TextView>

    <Button
        android:id="@+id/btnBack"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerInParent="true"
        android:text="2" >
    </Button>

    <Button
        android:id="@+id/btnBrowser"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
       android:layout_toLeftOf="@id/btnBack"
       android:layout_centerInParent="true"
        android:text="1" >
    </Button>
</RelativeLayout>

但请记住,将您的字符串设置为字符串资源,而不是硬编码文本。甚至请记住,如果您使用此 relativeLayout,则必须在设置第二个按钮(您的右键)之后设置第一个按钮(您的左按钮)。这仅适用于应该正确的按钮在设置左按钮之前仍然存在。

在此处输入图像描述

于 2012-11-29T18:36:23.597 回答