Android На странице настроек приложения не отображается панель инструментов - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь добавить страницу настроек в свое приложение Android.

Я добавил <item> в свой <menu>, который «раздувается» в onCreateOptionsMenu, чтобы сделать его появляются в <androidx.appcompat.widget.Toolbar> в main_activity.xml.

enter image description here

(1) он отображается как значок шестеренки, который я добавил, а не как три точки - почему? Как получить три точки?

Когда я go перехожу на страницу настроек, моя панель инструментов исчезает, но во всех примерах на панели инструментов отображается заголовок и кнопка возврата. Я отредактировал manifest.xml, чтобы добавить android:parentActivityName=".MainActivity".

(2) почему моя панель инструментов исчезает?

Я определил список значений другой список ярлыков для использования в <ListPreference>, но он не работает.

    <ListPreference
        android:dialogTitle="Select units"
        android:entries="@array/units_names"
        android:entryValues="@array/units_values"
        android:key="list"
        android:summary="Click to show a list to choose from"
        android:title="Units" />
<resources>
    <string-array name="units_values">
        <item>miles</item>
        <item>km</item>
    </string-array>
    <string-array name="units_names">
        <item>miles</item>
        <item>km</item>
    </string-array>
</resources>

3 Почему это не работает ?! Я действительно не понимаю, в чем ошибка.

enter image description here

Ответы [ 2 ]

0 голосов
/ 06 июня 2020

Проблема с отсутствующими элементами заключается в том, что текст черный.

Его можно изменить в styles.xml с помощью:

<item name="android:textColorAlertDialogListItem">@color/text</item>

и некоторых других , хотя, похоже, не документально подтверждены названия этих других цветов - типичные.

0 голосов
/ 06 июня 2020

Получается, что значки <item> в <menu> отображаются на панели инструментов, но если места недостаточно, автоматически появляются три точки, а там переполненные элементы go.

Этим до некоторой степени можно управлять с помощью атрибута app:showAsAction элементов <menu>.

...