Android Constant Меню для приложения - PullRequest
0 голосов
/ 14 февраля 2012

Я искал на этом сайте и в Google и не нашел ничего, что действительно дает мне четкий ответ. Так что я думал, что просто спросить. Я новичок в Android, так что четкое объяснение будет лучше.

Вопрос прост. Я хочу, чтобы у моего приложения было постоянное меню внизу, которое я могу использовать в любой момент, наряду с активностью за ним.

Например, мобильное приложение Score делает это, а красная стрелка указывает на то, что я хочу:

Captures

Или даже это работает с большим серым меню:

Capture

Пожалуйста, помогите.

Ответы [ 2 ]

2 голосов
/ 14 февраля 2012

Вы можете достичь этого с помощью фрагментов.http://developer.android.com/guide/topics/fundamentals/fragments.html

Когда ваше приложение запускается, вы загружаете одну активность под названием HomeActivity или что-то еще.В этом упражнении должна быть загружена раскладка, которая выглядит следующим образом:

<?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"
    android:orientation="vertical" >


    <RelativeLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/relativeLayout1"
        android:layout_alignParentTop="true" >
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true" >

        <Button
            android:id="@+id/btnFirst"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="@string/btn_previous" />

        <Button
            android:id="@+id/btnSecond"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:text="@string/btn_pause" />

        <Button
            android:id="@+id/btnThird"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:text="@string/btn_next" />
    </RelativeLayout>

</RelativeLayout>

Как видите, ваши 3 кнопки ВСЕГДА находятся внизу экрана.Вместо того, чтобы вызывать различные действия, вы заменяете фрагмент в RelativeLayout «frag_container» на фрагмент, который вы хотите отобразить.Это означает, что вы должны изменить свои классы деятельности с помощью Fragment-Classes.Фрагменты и действия очень похожи, и изменить код не составит большого труда.

1 голос
/ 14 февраля 2012

В Android предпочтительным способом отображения элементов навигации и действий, подобных этому, является использование ActionBar, который имеет режим, называемый «разделить панель действий», где его можно разделить на верхнюю и нижнюю части экрана (обычно это только вдоль верха). Это разработано специально для ситуаций, подобных той, которую вы описываете. Вы можете прочитать о рекомендациях по дизайну панели действий в Android Design Guide .

Чтобы создать панель действий с разделением, из Dev Guide ,

Чтобы включить панель действий с разделением, просто добавьте uiOptions = "splitActionBarWhenNarrow" в ваш элемент или манифест.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...