I am working on a fairly basic screen layout for my first Android application and running into some issues. My goal is to have a TextView in the top left and top right corner, a large "hello world" TextView in the exact middle of the screen, and then a button at the bottom of the screen. My issue is, to center the "hello world" TextView vertically, I need to set the layout_height="fill_parent". However, this causes the middle TextView to cover and hide the button at the bottom of the screen. Is there a better way to do this than what I am currently trying? I have attached my ui xml below. Thanks!
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal">
<TableLayout
android:layout_width="fill_parent"
android:layout开发者_运维百科_height="wrap_content"
android:stretchColumns="1">
<TableRow>
<TextView
android:text="@string/label_left" />
<TextView
android:text="@string/label_right"
android:gravity="right" />
</TableRow>
</TableLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/hello_world"
android:gravity="center"
android:textSize="40sp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/next_activity"
android:gravity="center"
android:textSize="30sp" />
</LinearLayout>
If you use a RelativeLayout instead, you can align other views to the top/bottom of the screen easily:
use android:layout_alignParentTop="true"
or android:layout_alignParentBottom="true"
same for left/right :
android:layout_alignParentLeft="true" or android:layout_alignParentRight="true"
What about this ?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:text="@string/label_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"/>
<TextView
android:text="@string/label_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:gravity="center"
android:textSize="40sp"
android:layout_centerInParent="true"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/next_activity"
android:gravity="center"
android:textSize="30sp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"/>
Is it what you are looking for ?
精彩评论