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

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


person Mike James    schedule 27.03.2018    source источник
comment
Да я уже не вижу. Я и большинство (все?) людей, которых я знаю, которые используют Android Studio, используют текстовый редактор, а не графический редактор (вкладка «Текст» вместо вкладки «Дизайн» в нижней части окна). Там, если вы начнете вводить <time, Android Studio покажет вам TimePicker для автозаполнения.   -  person hBrent    schedule 31.03.2018
comment
У меня была идея, что это должно быть правдой из-за отсутствия жалоб. Я считаю, что редактор компоновки очень прост в использовании для первой попытки создания пользовательского интерфейса. Я подал отчет об ошибке, потому что, если вы используете редактор макетов, он просто будет поврежден, и никто об этом не упомянул.   -  person Mike James    schedule 31.03.2018
comment
Как только вы добавите TimePicker в текстовое представление редактора, вы можете переключиться на представление дизайна (то, что вы называете редактором макета) и манипулировать/редактировать TimePicker так, как вы хотите.   -  person hBrent    schedule 31.03.2018
comment
Да, это работает, и если вы установите ширину и высоту, вы можете использовать редактор макетов для работы с ними. Это делает еще более глупым, что их нет в палитре.   -  person Mike James    schedule 01.04.2018
comment
команда AS еще не сообщила, как вернуть это.   -  person user1506104    schedule 03.04.2018
comment
Ни слова. Мой отчет об ошибке issuetracker.google.com/issues/76403152 датирован 31 числом. Март, а ответа пока нет. Это довольно типично для отчетов об ошибках, которые я подавал в прошлом, и это одна из причин, по которой я не часто беспокоюсь. Что обычно происходит дальше, так это запрос множества не относящихся к делу подробностей.   -  person Mike James    schedule 03.04.2018
comment
Виджет отсутствует в Android Studio 3.1, поэтому вам придется ждать нового обновления от команды студии Android. Для получения дополнительной информации ознакомьтесь с этой статьей: i-programmer.info/news/193/ 11668.html   -  person Nik    schedule 05.04.2018
comment
Я человек, который написал эту новость и задал вопрос. Я заметил, что они пропали, но у меня нет информации о том, почему они пропали или собирается ли команда Android вернуть их — это то, что нам нужно знать.   -  person Mike James    schedule 05.04.2018


Ответы (3)


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

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

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

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

person luckyging3r    schedule 03.04.2018

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

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

По какой-то неизвестной причине аннотация @Widget не может быть найдена в проекте. Пакет аннотаций Android Класс TimePicker

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

example: 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);
  }

}

Результат:

Результат в палитре дизайна

person aaroncio    schedule 06.04.2018
comment
Вам не нужно этого делать - это слишком сложно. Просто вставьте начало XML для отсутствующего виджета, а затем используйте редактор макета. - person Mike James; 06.04.2018
comment
Да, я согласен, усилия не стоят того, чтобы просто добавить XML, исправление должно быть сделано разработчиками Android Studio, но если вы хотите добавить его прямо сейчас и использовать в палитре, это способ сделать это. - person aaroncio; 06.04.2018
comment
Я думаю, я должен сказать, что ответ интересен - просто не стоит этого делать, если все, что вы хотите сделать, это использовать недостающие виджеты. - person Mike James; 06.04.2018

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

Палитра в Редакторе макетов получила множество улучшений.

Там же указано, что было

Реорганизация категорий для представлений и макетов.

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

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

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

person Jade    schedule 06.04.2018
comment
Да, реорганизация была преднамеренной, но хотели ли они исключить все средства выбора и все переходы. Нет никакого способа узнать, являются ли пропуски случайными. Также нет причин для удаления этих виджетов. Что мы хотим знать, так это намеренно ли это упущение и что команда AS ожидает от использования, чтобы не иметь доступа к виджетам, которые мы использовали. - person Mike James; 06.04.2018
comment
Мой собственный отчет об ошибке также игнорируется. Я очень удивлен, что ничего не делается. Это немалое упущение, и его легко понять и исправить — либо вернув виджеты обратно, либо дав понять, что они устарели. - person Mike James; 06.04.2018