Android Layout,定位元素彼此相邻

时间:2014-05-05 17:40:31

标签: java android

我正在设计我的第一个Android应用程序,但我遇到了一些问题。

我创造了这个:

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

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="25sp"
    android:layout_margin="15dp"
    android:text="123"
    android:id="@+id/textView" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="@dimen/number_button_size"
    android:textSize="@dimen/number_button_size"
    android:layout_margin="10dp"
    android:text="1"
    android:id="@+id/button_1" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="@dimen/number_button_size"
    android:textSize="@dimen/number_button_size"
    android:layout_margin="10dp"
    android:text="1"
    android:id="@+id/button_1" />


</LinearLayout>

但是这两个按钮出现在彼此之下而不是彼此之上,我知道如果我将方向改为水平,我将能够将它定位在彼此旁边,但我希望能够跨越文本视图越过高峰。 我该怎么办?

此致

马特

1 个答案:

答案 0 :(得分:0)

您将需要使用相对布局。你会看到下面的代码并不需要很多额外的属性来解决这个问题。

请注意,按钮现在有三个附加属性。

  • andoid:layout_below =&#34; @id /&#34; :将元素置于另一个元素下
  • android:layout_alignWithParentIfMissing:如果上面提到的元素不存在,请与父对齐
  • android:layout_alignParentLeft:允许您将一个按钮放在左侧,一个按钮放在右侧

UPDATE 使用android:layout_alignRight =&#34; @ id / textView&#34;将第二个按钮正确对齐

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.mfr.calculatorapp.MainActivity">

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="25sp"
    android:layout_margin="15dp"
    android:text="123"
    android:id="@+id/textView" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="@dimen/number_button_size"
    android:textSize="@dimen/number_button_size"
    android:layout_margin="10dp"
    android:text="1"
    android:id="@+id/button_1"  
    android:layout_below="@id/textView"
    android:layout_alignWithParentIfMissing="true"
    android:alignParentLeft="true"
/>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="@dimen/number_button_size"
    android:textSize="@dimen/number_button_size"
    android:layout_margin="10dp"
    android:text="2"
    android:id="@+id/button_2" 
    android:layout_below="@id/textView"
    android:layout_alignWithParentIfMissing="true"
    android:alignParentRight="true"
    android:layout_alignRight="@id/textView"
/>

</RelativeLayout>