我想有条不紊地对齐并将我的观点放在布局上。如代码所示,第一个textview
用于标题,它应该放在顶部并居中放置在布局的中间。第二个textview
用于显示一些文本,它应该放在布局的中间。最后,button
布局,它应该放在布局的底部,并在其中间居中。应用下面的代码不能完成这项工作,它会使所有视图混合
XML:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
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.meetingpointlocator_03" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/introScreenTitleID"
android:text="@string/introScreenTitle"
android:textColor="@color/introScreenTitleColor"
android:layout_gravity="center_vertical|center_horizontal"
android:gravity="top|center"
android:textSize="@dimen/introScreentitle">
</TextView>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/introScreenContentID"
android:textColor="@color/introScreenContentscolor"
android:text="Some Text"
android:layout_gravity="center_vertical|center_horizontal"
android:textSize="@dimen/introScreenContentFontSize">
</TextView>
<Button
android:id="@+id/introButtonID"
android:text="@string/introButtonText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="center"/>
</RelativeLayout>
答案 0 :(得分:0)
// try this way,hope this will help you...
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
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.meetingpointlocator_03" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/introScreenTitleID"
android:text="@string/introScreenTitle"
android:textColor="@color/introScreenTitleColor"
android:textSize="@dimen/introScreentitle"
android:layout_marginTop="5dp">
</TextView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="5dp"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/introScreenContentID"
android:textColor="@color/introScreenContentscolor"
android:text="Some Text"
android:textSize="@dimen/introScreenContentFontSize">
</LinearLayout>
<Button
android:id="@+id/introButtonID"
android:text="@string/introButtonText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"/>
</LinearLayout>
答案 1 :(得分:0)
您需要在相对布局中定义视图之间的关系,这是正确的代码:
<?xml version="1.0" encoding="utf-8"?>
<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"
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.meetingpointlocator_03" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/introScreenTitleID"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:gravity="top|center"
android:text="@string/introScreenTitle"
android:textColor="@color/introScreenTitleColor"
android:textSize="@dimen/introScreentitle" >
</TextView>
<TextView
android:id="@+id/introScreenContentID"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:text="Some Text"
android:textColor="@color/introScreenContentscolor"
android:textSize="@dimen/introScreenContentFontSize"
android:layout_centerHorizontal="true"
android:gravity="center"
android:layout_below="@+id/introScreenTitleID">
</TextView>
<Button
android:id="@+id/introButtonID"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_centerHorizontal="true"
android:text="@string/introButtonText"
android:layout_below="@+id/introScreenContentID" />
</RelativeLayout>
</LinearLayout
进一步研究:
1. http://developer.android.com/reference/android/widget/RelativeLayout.html
2. http://knowledge.lapasa.net/?p=334
我希望这会有所帮助。
答案 2 :(得分:0)
让我们试试这段代码:
<?xml version="1.0" encoding="utf-8"?>
<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.meetingpointlocator_03" >
<Button
android:id="@+id/introButtonID"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="center"
android:text="@string/introButtonText" />
<TextView
android:id="@+id/introScreenTitleID"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="27dp"
android:gravity="top|center" android:textColor="@color/introScreenTitleColor"
android:text="@string/introscreentitle"
android:textSize="@dimen/introScreentitle" />
<TextView
android:id="@+id/introScreenContentID"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_above="@+id/introButtonID"
android:layout_alignParentLeft="true"
android:layout_below="@+id/introScreenTitleID" android:textColor="@color/introScreenContentscolor" android:textSize="@dimen/introScreenContentFontSize"
android:text="Some Text" />
</RelativeLayout>
OUTPUT 是
答案 3 :(得分:0)
使用相对布局,您可以设置对布局中其他项的引用。因此,例如,如果您想要文本视图下方的按钮,则需要引用类似于下面参考的ID。
android:layout_alignBottom="@+id/btnSatOff"
你也可以使用边距来获得你在项目之间寻找的间距。
当然,您可以使用与您开始时类似的简单线性布局,并使用layout_gravity设置以您希望的方式对齐项目。
顶部textview为layout_gravity="center"
中间文本视图为layout_gravity="center_horizontal"
按钮为layout_gravity="center|bottom"