У меня есть виджет, который показывает два TextView показанный здесь:Виджет TextView размера
Что я хочу знать, можно изменить размер текста при изменении размера виджета? В основном, сделать виджет изменчивым, как и должно быть. Есть идеи?
У меня есть виджет, который показывает два TextView показанный здесь:Виджет TextView размера
Что я хочу знать, можно изменить размер текста при изменении размера виджета? В основном, сделать виджет изменчивым, как и должно быть. Есть идеи?
Вам необходимо реализовать XML-виджет, чтобы заполнить родительский элемент, а затем разрешить изменение размера.
Например
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
Флага виджета быть изменяемым с android:resizeMode="vertical"
в вашем <appwidget-provider ... />
Теперь на более новые версии Android, он будет изменять размеры для заполнения при изменении размеров виджета на экране.
Для виджетов экрана блокировки вы должны сделать это как бит больше для того, чтобы виджет мог быть изменен. Взглянуть на App Widget sizing guidelines
Вот соответствующая часть
Когда виджет размещен на заблокированном экране, рамки игнорирует MinWidth, MinHeight, minResizeWidth и minResizeHeight поля. Если виджет также является виджлером домашнего экрана, эти параметры по-прежнему необходимы , поскольку они все еще используются на дому, но они будут игнорироваться для целей экрана блокировки.
Ширина виджета lockscreen всегда заполняет предоставленное пространство. Для высоты LockScreen виджет, у вас есть следующие варианты:
- Если виджет не маркировать себя как вертикально изменяемые (андроид: ResizeMode = «вертикальный»), то высота виджета всегда будет " small ":
- На телефоне в портретном режиме« маленький »определяется как пространство, оставшееся при отображении пользовательского интерфейса разблокировки.
- На планшетах и ландшафтных телефонах «маленький» устанавливается для каждого устройства.
- Если виджет отмечает себя как вертикально изменяемый размер, высота виджета отображается как «маленькая» на портретных телефонах, отображающих интерфейс разблокировки. Во всех остальных случаях размеры виджета для заполнения доступной высоты.
В дополнение к @ ответ Кирка: Если вы рисуете текст на холсте (Canvas.drawText(....)
), то виджет будет автоматически изменять размер текста при изменении размеров виджета. К сожалению, виджеты приложений изменяются только с Android Honeycomb и выше.
Спасибо, удивительный ответ, но что я ищу, когда я изменяю размер виджета меньше, например, чтобы изменить каждый размер TextView. Я не знаю, возможно ли это, хотя так спасибо за большой ответ – Timmo