При обновлении до Android Studio 3.1 в палитре редактора макета отсутствует TimePicker. Поиск не нашел. На самом деле все элементы управления, похоже, исчезли. Они были в 3.0.
У меня была идея, что это должно быть правдой из-за отсутствия жалоб. Я считаю, что редактор макета очень прост в использовании для первой попытки создания пользовательского интерфейса. Я отправил отчет об ошибке, потому что, если вы все же используете редактор макетов, он просто испортился, и никто об этом не упомянул.
После того, как вы добавите TimePicker в текстовое представление редактора, вы можете переключиться в представление дизайна (то, что вы называете редактором макета) и управлять / редактировать TimePicker так, как вы хотите.
Да, это работает, и если вы установите ширину и высоту, вы можете использовать редактор макета для работы с ним. Это делает еще более глупым то, что их нет в палитре.
от команды AS пока нет ни слова о том, как это вернуть.
Ни слова - в моем отчете об ошибке Issuesetracker.google.com/issues/76403152 есть дата 31 марта, и ответа пока нет. Это довольно типично для отчетов об ошибках, которые я подавал в прошлом, и является одной из причин, по которым я не часто беспокоюсь. Обычно дальше происходит запрос множества не относящихся к делу деталей.
Виджет отсутствует в Android Studio 3.1, поэтому вам придется дождаться нового обновления от команды студии Android. Для получения дополнительной информации, пожалуйста, проверьте эту статью: i-programmer.info/news/193/11668.html
Я тот человек, который написал эту новость и задал вопрос. Я заметил, что они отсутствовали, но у меня нет информации о том, почему они отсутствуют или собирается ли команда Android вернуть их - это то, что нам нужно знать.
Я не уверен, где его найти в меню выбора, но если вам просто нужно средство выбора времени в вашем проекте, вы можете выбрать вкладку 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 ожидает использовать, чтобы не иметь доступа к виджетам, которые мы использовали.
Мой собственный отчет об ошибке также игнорируется. Я очень удивлен, что ничего не делается. Это немалое упущение, и его легко понять и исправить - либо вернув виджеты, либо прояснив, что они устарели.
Как указано в других ответах, в примечаниях к выпуску есть комментарий об улучшениях в палитре.
https://developer.android.com/studio/releases/index.html#layout_editor
По неизвестной причине аннотация @ Виджет не может находиться в проекте.


Грязный трюк, который я сделал, - создать свой собственный @ Виджет аннотация, копирующая их код, а затем добавляющая ее в собственный класс, который наследуется от 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);
}
}Результат:
Вам не нужно этого делать - это слишком сложно. Просто вставьте начало XML для отсутствующего виджета, а затем используйте редактор макета.
Да, я согласен, усилия не стоят того, чтобы просто добавить XML, исправление должно быть сделано разработчиками Android Studio, но если вы хотите добавить его прямо сейчас и использовать в палитре, это способ сделать это.
Я думаю, что должен сказать, что ответ интересен - просто не стоит делать, если все, что вы хотите сделать, это использовать недостающие виджеты.
Да, я этого больше не вижу. Я и большинство (все?) Людей, которых я знаю, которые используют студию Android, используют текстовый редактор, а не графический редактор (вкладка «Текст» вместо вкладки «Дизайн» внизу окна). Там, если вы начнете вводить
<time, студия Android покажет вам TimePicker для автозаполнения.