Пользовательский TimePicker, чтобы уменьшить его размер - PullRequest
0 голосов
/ 20 июля 2011

Все, что я хотел бы сделать, это уменьшить размер TimePicker по умолчанию, однако мне это не удалось.Итак, я создал пользовательский TimePicker, т.е. у меня есть класс, производный от TimePicker (назовите его TimePickerCustom), и XML-файл, который имеет точно такое же содержимое, что и исходный TimePicker (за исключением того, что я планирую уменьшить размеры NumberPicker).

Мне нужно определить один из конструкторов, у которых AttributeSet является параметром в моем TimePickerCustom, для того, чтобы правильно наполнить XML, и, конечно, мне нужно вызвать конструктор родительского класса для этого здесь.Проблема заключается в том, что эти конструкторы раздувают исходный XML TimePicker, поэтому я все еще вижу виджет TimePicker по умолчанию!

Как мне настроить этот параметр, чтобы я мог видеть только свой собственный виджет TimePicker?Или есть другой способ просто уменьшить размер TimePicker по умолчанию?

1 Ответ

0 голосов
/ 20 июля 2011

Вы можете переопределить инфляцию макета родителя, вызвав конструктор без надувания родителя.Например:

public TimePickerCustom(Context context, AttributeSet attrs, int defStyle) {
    super(context);
    // custom layout // getLayoutInflater().inflate(...
}
...