我是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" />
答案 0 :(得分:0)
所以,这是朋友所做的,而且我也开始做了,我可以很好地调整一下。
因此,您需要做的是使用LinearLayouts及其属性Orientation属性。
现在我并不完全知道你想做什么,但我可以给你一个小例子,希望你能理解我在这里写的内容。
假设您有3个TextView,并且您希望将它们排列在屏幕顶部和最后一个之间,您希望位于两个已经对齐的按钮下方。它看起来非常像金字塔但顶部有顶部被指出。
你会这样做:前两个textViews将放在一个LinearLayout中,Orientation设置为Horizontal(这样第二个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属性,它将改为与父的左边缘对齐。