2010-03-06 2 views
1

Я работаю над довольно простой схемой экрана для своего первого приложения для Android и сталкиваюсь с некоторыми проблемами. Моя цель - иметь TextView в верхнем левом и верхнем правом углу, большой «привет мир» TextView в точной середине экрана, а затем кнопку в нижней части экрана. Моя проблема заключается в том, чтобы центрировать «Hello World» TextView вертикально, мне нужно установить layout_height = «fill_parent». Однако это приводит к тому, что средний TextView закрывает и скрывает кнопку в нижней части экрана. Есть ли лучший способ сделать это, чем то, что я сейчас пытаюсь сделать? Я приложил свой ui xml ниже. Благодаря!Кнопка сокрытия в центре Android

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

ответ

5

Если вы используете RelativeLayout вместо этого, вы можете выровнять другие виды на верхней/нижней части экрана легко:

использования android:layout_alignParentTop="true"

или android:layout_alignParentBottom="true"

же для левого/правого :

android:layout_alignParentLeft="true" or android:layout_alignParentRight="true" 

Как нас найти?

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

Это то, что вы ищете?

+0

Это отлично. Благодаря! – Blather