在android布局中设置textview和2个按钮

时间:2012-11-29 18:13:04

标签: android layout button textview

我试图在左侧对齐设置一个文本视图,在图像中设置右侧对齐的两个底部。我正在使用边距,但我想这不是最好的解决方案,它会在不同的手机中改变,无论如何我的第二个按钮不会出现在应用程序中。这是我的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

由于

5 个答案:

答案 0 :(得分:3)

使用RelativeLayout和TextView设置属性

android:layout_alignParentLeft="true"

右侧按钮中的按钮

android:layout_alignParentRight="true"

第二个

android:layout_toLeftOf="@+id/your_button"

答案 1 :(得分: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>

你最终会

enter image description here

答案 2 :(得分:1)

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

答案 3 :(得分:0)

作为对每个人答案的补充,使用<merge/>标记作为根标记并将RelativeLayout置于其中ListView

的性能会非常棘手

答案 4 :(得分: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,则必须在设置第二个按钮(右键)后设置第一个按钮(您的左按钮)。只有在设置左键之前按钮仍然存在时,这才有效。

enter image description here