Вопросы, касающиеся кнопки настройки, панели действий и изменения заголовка

Я новичок в разработке Android и следую инструкциям на веб-сайте Android. 1. В части «Запуск другого действия» я просто скопировал код и попытался запустить его, но обнаружил, что после изменения действия (перехода на новую страницу) заголовок панели действий изменится на имя класс этой деятельности. 2. Когда речь идет о реакции кнопки действия, код записывается так:

public boolean onOptionsItemSelected(MenuItem item) {
    // Handle presses on the action bar items
    switch (item.getItemId()) {
        case R.id.action_search:
            openSearch();
            return true;
        case R.id.action_settings:
            openSettings();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

Однако в коде по умолчанию: `public boolean onOptionsItemSelected(MenuItem item) {

    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}`  

Он возвращает только true, который не содержит метода для ответа (нет openSettings ()), но слово «настройка» все еще выскакивает, когда я нажимаю его. 3. Как убрать панель действий и сделать ее полноэкранной?


person user3745280    schedule 16.06.2014    source источник


Ответы (2)


  1. Имя действия в вашем случае объявлено в AndroidManifest.xml. Проверьте атрибут android:label вашей активности. Вы можете манипулировать им через код Java, если хотите. См. этот вопрос SO.
  2. Проверьте файл меню в res/menu/your_menu_file.xml. Я думаю, что он содержит что-то вроде

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_settings"/>
    

Отображаемый значок НЕ является значком настройки, но значком переполнения. а>. Если щелкнуть значок переполнения, в нем будут перечислены все элементы меню. В вашем случае только один (т.е. Настройка)

  1. Чтобы скрыть панель действий, включите их в свой метод onCreate().

    //getWindow().requestWindowFeature(Window.FEATURE_NO_TITLE);
    getActionBar().hide();
    

    Вы также можете сделать это через xml. Посмотрите на этот вопрос SO.

person makata    schedule 16.06.2014

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

  1. Как изменить название новой деятельности?

    Здесь: Как изменить заголовок и значок панели действий Android

  2. Как открываются настройки?

    Android делает это автоматически, если вызывается onCreateOptionsMenu(Menu menu).

  3. Как сделать полноэкранную активность?

    Здесь: Полноэкранная активность в Android?

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

person drees    schedule 16.06.2014