Android Studio 3.1 Где находится TimePicker в редакторе макета

При обновлении до Android Studio 3.1 в палитре редактора макета отсутствует TimePicker. Поиск не нашел. На самом деле все элементы управления, похоже, исчезли. Они были в 3.0.

Да, я этого больше не вижу. Я и большинство (все?) Людей, которых я знаю, которые используют студию Android, используют текстовый редактор, а не графический редактор (вкладка «Текст» вместо вкладки «Дизайн» внизу окна). Там, если вы начнете вводить <time, студия Android покажет вам TimePicker для автозаполнения.

hBrent 31.03.2018 00:40

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

Mike James 31.03.2018 10:59

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

hBrent 31.03.2018 20:40

Да, это работает, и если вы установите ширину и высоту, вы можете использовать редактор макета для работы с ним. Это делает еще более глупым то, что их нет в палитре.

Mike James 01.04.2018 10:53

от команды AS пока нет ни слова о том, как это вернуть.

user1506104 03.04.2018 09:58

Ни слова - в моем отчете об ошибке Issuesetracker.google.com/issues/76403152 есть дата 31 марта, и ответа пока нет. Это довольно типично для отчетов об ошибках, которые я подавал в прошлом, и является одной из причин, по которым я не часто беспокоюсь. Обычно дальше происходит запрос множества не относящихся к делу деталей.

Mike James 03.04.2018 15:38

Виджет отсутствует в Android Studio 3.1, поэтому вам придется дождаться нового обновления от команды студии Android. Для получения дополнительной информации, пожалуйста, проверьте эту статью: i-programmer.info/news/193/11668.html

Nik 05.04.2018 12:39

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

Mike James 05.04.2018 18:58
19
8
7 414
3

Ответы 3

Я не уверен, где его найти в меню выбора, но если вам просто нужно средство выбора времени в вашем проекте, вы можете выбрать вкладку Text в нижней части файла activity.xml и вставить TimePicker xml.

<TimePicker
android:id = "@+id/simpleTimePicker"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:timePickerMode = "spinner"/>

Затем вы можете выбрать, какой timePickerMode вам нужен, если вам нужны часы, а затем замените spinner на clock.

Надеюсь это поможет.

Android Studio 3.1 примечания к выпуску заявляет, что

Palette in the Layout Editor has received many improvements

В нем также говорится, что было

Reorganization of categories for views and layouts.

Поэтому в этом выпуске были запланированы изменения в этом разделе. Это заставляет меня предположить, что удаление сборщиков является целенаправленным.

Эта реорганизация палитры была замечена до финального выпуска Android Studio 3.1, и был зарегистрирован ошибка. Хотя ошибка была назначена, комментариев не было.

Один из ошибки, отправленных для этой проблемы, был назначен сотруднику Google. Опять же, это не официальный знак.

Да, реорганизация была преднамеренной, но имели ли они в виду исключить весь сборщик и все переходы. Невозможно узнать, случайно ли это упущение. Также нет причин сбрасывать эти виджеты. Мы хотим знать, сделано ли это упущение намеренно и что команда AS ожидает использовать, чтобы не иметь доступа к виджетам, которые мы использовали.

Mike James 06.04.2018 19:13

Мой собственный отчет об ошибке также игнорируется. Я очень удивлен, что ничего не делается. Это немалое упущение, и его легко понять и исправить - либо вернув виджеты, либо прояснив, что они устарели.

Mike James 06.04.2018 19:18

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

https://developer.android.com/studio/releases/index.html#layout_editor

По неизвестной причине аннотация @ Виджет не может находиться в проекте. Android annotation packageTimePicker class

Грязный трюк, который я сделал, - создать свой собственный @ Виджет аннотация, копирующая их код, а затем добавляющая ее в собственный класс, который наследуется от TimePicker, конечно, это просто, если вы хотите, чтобы она была в палитре вашего проекта xD

пример: Widget.java

package com.example.ctuser1.myapplication;

import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.SOURCE)
public @interface Widget {
}

MyTimePicker.java

package com.example.ctuser1.myapplication;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TimePicker;

@Widget
public class MyTimePicker extends TimePicker {
  public MyTimePicker(Context context) {
      super(context);
  }

  public MyTimePicker(Context context, AttributeSet attrs) {
      super(context, attrs);
  }

  public MyTimePicker(Context context, AttributeSet attrs, int defStyleAttr) {
      super(context, attrs, defStyleAttr);
  }

}

Результат:

Result in design Palette

Вам не нужно этого делать - это слишком сложно. Просто вставьте начало XML для отсутствующего виджета, а затем используйте редактор макета.

Mike James 06.04.2018 19:15

Да, я согласен, усилия не стоят того, чтобы просто добавить XML, исправление должно быть сделано разработчиками Android Studio, но если вы хотите добавить его прямо сейчас и использовать в палитре, это способ сделать это.

aaroncio 06.04.2018 19:21

Я думаю, что должен сказать, что ответ интересен - просто не стоит делать, если все, что вы хотите сделать, это использовать недостающие виджеты.

Mike James 06.04.2018 19:37

Другие вопросы по теме