XML - 如何并排获得两个按钮?

时间:2012-08-01 15:52:40

标签: android xml android-linearlayout relativelayout

我正在尝试将两个按钮“Run”和“Result”并排。但是我没有太多运气。

我尝试过使用RelativeLayout并在两个按钮上添加layout_weight,但它们似乎只是消失了,地图也会占据屏幕。

任何人都可以指出我做错了什么以及可以做些什么来解决它?

<?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" >


      <TextView
          android:id="@+id/myLocationText"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="@string/hello" />
      <TextView
          android:id="@+id/resultsHomeTest"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="" />


      <Button
          android:id="@+id/btnRun"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"

          android:text="Run" />


      <Button
          android:id="@+id/btnResults"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Results" />

      <TextView
          android:id="@+id/resultsTextView"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text=""
          android:textAppearance="?android:attr/textAppearanceMedium" />


  <com.google.android.maps.MapView
    android:id="@+id/myMapView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:enabled="true"
    android:clickable="true"
    android:apiKey="02kgJwy0ijcQsVCaCzD9sFv69dOi4gXBEUjIbuQ"

  />

    <!--

    Desktop key: 02kgJwy0ijcTK7fd-wxv7OsPUFEveXTUt16lrRA
    Laptop key : 02kgJwy0ijcQsVCaCzD9sFv69dOi4gXBEUjIbuQ
      -->
</LinearLayout>

2 个答案:

答案 0 :(得分:2)

你也可以使用但是lint说它会影响你的性能,如果它是嵌套的

你可以像下面的代码一样使用

<LinearLayout android:layout_height="wrap_content"
    android:layout_width="fill_parent">
    <TextView android:layout_height="wrap_content"
        android:layout_width="fill_parent" android:text="Slashdot"
        android:id="@+id/textUser" android:layout_weight="1"
        android:textStyle="bold"/>
    <TextView android:layout_height="wrap_content"
        android:layout_width="fill_parent" android:gravity="right"
        android:layout_weight="1" android:id="@+id/textCreatedAt"
        android:text="10 minutes ago"/> 
</LinearLayout>

但是,如果你有如下代码,lint会说它会影响你的表现。

<RelativeLayout>
    <LinearLayout>
        <LinearLayout>
            <ImageView
            android:layout_weight="0.3"/>
        </LinearLayout>

    </LinearLayout>

</RelativeLayout>

您也可以使用相对布局,但不要使用重量。如果你把它们放在下面的代码中,你就必须管理边距。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Button" />



    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/button1"
        android:text="Button" />

</RelativeLayout>

答案 1 :(得分:0)

将两个按钮包裹在水平LinearLayout

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


    <Button
              android:id="@+id/btnRun"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"

              android:text="Run" />


          <Button
              android:id="@+id/btnResults"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="Results" />
    </LinearLayout>