如何在Eclipse上将控件彼此对齐

时间:2014-09-20 19:51:43

标签: android eclipse alignment

我是Eclipse和Android的新手,我需要将控件彼此对齐。

在Visual Studio中,我可以轻松地对齐控件并在它们之间分配空格。我怎么能在Eclipse中做到这一点?

我有这个xml。只需将它们拖放到布局即可。必须有一种简单的方法来对齐和分配。特别是贬低。

<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.sbs.MainActivity" >
<!-- Ders adları -->
<TextView
    android:id="@+id/lblTurkce"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="42dp"
    android:layout_marginTop="78dp"
    android:text="@string/Turkce" />

  <TextView
      android:id="@+id/lblDil"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/lblTarih"
      android:layout_alignParentBottom="true"
      android:layout_marginBottom="166dp"
      android:text="@string/ingilizce" />

  <TextView
      android:id="@+id/lblMatematik"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/lblTurkce"
      android:layout_below="@+id/lblTurkce"
      android:layout_marginTop="15dp"
      android:text="@string/Matematik" />

  <TextView
      android:id="@+id/lblFen"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/lblMatematik"
      android:layout_below="@+id/lblMatematik"
      android:layout_marginTop="18dp"
      android:text="@string/FenveTeknoloji" />

  <TextView
      android:id="@+id/lblTarih"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/lblFen"
      android:layout_below="@+id/lblFen"
      android:layout_marginTop="24dp"
      android:text="@string/tarih" />

  <TextView
      android:id="@+id/lblDin"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/lblTarih"
      android:layout_centerVertical="true"
      android:text="@string/din" />

2 个答案:

答案 0 :(得分:0)

所以,这是朋友所做的,而且我也开始做了,我可以很好地调整一下。

因此,您需要做的是使用LinearLayouts及其属性Orientation属性。

现在我并不完全知道你想做什么,但我可以给你一个小例子,希望你能理解我在这里写的内容。

假设您有3个TextView,并且您希望将它们排列在屏幕顶部和最后一个之间,您希望位于两个已经对齐的按钮下方。它看起来非常像金字塔但顶部有顶部被指出。

你会这样做:前两个textViews将放在一个LinearLayout中,Orientation设置为Horizo​​ntal(这样第二个textView将位于第一个textView的右边,但是在同一行上(所以对齐)到第一个textView的右边。)

现在,另一个不需要被LinearLayout包含,但是,第一个LinearLayout(带有第一个和第二个TextView)和第三个textView必须包含一个Orientation,其Orientation为Vertical这样,第三个textView位于包含两个textViews的LinearLayout之下。

如果您需要更多解释,请告诉我。

答案 1 :(得分:0)

RelativeLayout提供了您可以使用的各种对齐属性。例如,如果要在RelativeLayout中排列两个不同TextView的左边缘,可以使用layout_alignLeft属性,如下所示:

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

    <TextView
        android:id="@+id/textViewOne"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:text="Text One"/>

    <TextView
        android:id="@+id/textViewTwo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/textViewOne"
        android:layout_alignLeft="@id/textViewOne"
        android:text="Text Two"/>

</RelativeLayout>

请注意,我强制第一个TextView有一个左边距,第二个TextView正确左边与第一个对齐。如果从第二个TextView中取出layout_alignLeft属性,它将改为与父的左边缘对齐。