#java #android #scaling
Вопрос:
Я работаю над приложением для Android maze, но мне не удается создать лабиринт. Свободные места должны быть»», а стены лабиринта должны быть»#». Лабиринт — это всегда квадрат. Моя функция создания случайного лабиринта работает, если я использую, например, » 1 » для стен и «2» для свободных пространств. Затем я перевожу строку[] ,в которой сохраняется мой лабиринт ,в текстовое представление, и все выглядит нормально. Если я буду работать с буквами «»и»#», форма будет испорчена, и это не квадрат. Я добавляю строки в массив в textview и добавляю «n», чтобы пропустить строку вниз, чтобы начать новую строку. Вот изображение моего решения:
и вот картинка, как это должно выглядеть:
Я вижу, что на нижней картинке содержимое textview использует все полученное пространство и масштабируется, теперь я пытался в течение последних 2 часов масштабировать вывод, но я не могу заставить все символы использовать максимальную ширину textview для хорошего масштабирования. Может кто-нибудь дать мне подсказку? Масштабирование должно работать со всеми размерами лабиринтов. Вот мои настройки текстового представления :
<TextView
android:id="@ id/maze"
android:layout_width="wrap_content"
android:layout_height="426dp"
android:autoSizeTextType="uniform"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:includeFontPadding="false"
android:lineSpacingExtra="0dp"/>
Комментарии:
1. Вам нужно использовать шрифт с одним пробелом, чтобы «» и иметь одинаковую ширину
#
2. Большое вам спасибо !! Ты спас мне вечер, я думал, что схожу с ума, ха-ха