Как сместить центральный элемент в представлении на высоту заголовка - PullRequest
0 голосов
/ 23 января 2012

Я работаю с простым представлением Android (2 кнопки). Я расположил кнопки по центру по вертикали, но заметил, что они чуть ниже центра.

Из того, что я могу сказать, они центрированы, используя оставшееся пространство (после того, как заголовок помещен в представление). Я бы предпочел, чтобы заголовок не был частью вида или чтобы я мог сместить центрирование на определенный провал (чтобы он выглядел по центру, а не со смещением)

Кто-нибудь знает, действительно ли это моя проблема или вы можете сместить центральный элемент?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/widget30"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
        <Button
            android:id="@+id/loadViewBtn"
            android:layout_width="200dip"
            android:layout_height="80dip"
            android:text="View"
            android:textSize="18sp"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true"
            >
    </Button>
    <Button
            android:id="@+id/loadUploadBtn"
            android:layout_width="200dip"
            android:layout_height="80dip"
            android:text="Upload"
            android:textSize="18sp"
            android:layout_below="@+id/loadViewBtn"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true"
            >
    </Button>
</RelativeLayout>

Ответы [ 2 ]

1 голос
/ 23 января 2012

Мой ответ, основанный на комментариях, состоит в том, чтобы скрыть строку заголовка, которая является такими же ответами, написанными в этом вопросе Stackoverflow Как скрыть строку заголовка для Activity в XML с существующей пользовательской темой

Мой обычный способ сделать это либо в объявлении пользовательской темы, либо в манифесте. Лично я считаю, что это лучшее разделение интересов, поскольку выполнение действий с пользовательским интерфейсом в коде, которое может быть выполнено в определенной теме, кажется более аккуратным, особенно если его необходимо воспроизвести в других действиях.

Пример манифеста

<activity android:name=".MainActivity"
      android:label="@string/app_name"
      android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">

Пример объявления темы

<style name="generalnotitle" parent="general">
    <item name="android:windowNoTitle">true</item>
</style>
1 голос
/ 23 января 2012

Вы можете добавить линейное расположение внизу, размер которого совпадает с размером заголовка - Высота строки состояния в Android

Или удалите заголовок, см. http://www.androidsnippets.com/how-to-make-an-activity-fullscreen

...