Intereting Posts
Android AlertDialog с динамически изменяющимся текстом по каждому запросу Ошибка java.lang.outofmemory (веб-службы) на android Как настроить фокус на Thumb для панели поиска диапазона в режиме специальных возможностей? Использовать ColorMatrix или HexColor в BlendModeFilter – Android? Как изменить значок меню переполнения Android Разработка приложений для Android с использованием Xamarin Vs Native android Как добавить контент приложения с описанием и предварительным просмотром результатов поиска Google? Невозможно использовать набор учетных записей Facebook: ошибка раздувания класса com.facebook.accountkit.ui.ConstrainedLinearLayout Удалить загрузчик в SwipeRefreshLayout Увеличение громкости записанного аудио Как установить приложение RecyclerView: layoutManager = "" из XML? Как получить доступ к ресурсам по имени в android ViewPager не работает, если установлен layout_height = wrap_content Какова самая надежная библиотека HTTP для Android? Android – Как перехватить намерение «Установить приложение»

Центральная текстовая кнопка Android

Мой вопрос очень прост. Как настроить текст на кнопке в андроиде? Я попытался установить отступы на 0, гравитация в центр, но результат, когда я запустил его, чтобы текст был горизонтальным, а не вертикальным. Текст немного сдвинут на дно.

<Button android:id="@+id/btnSame" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginBottom="10dip" android:layout_marginLeft="10dip" android:layout_marginRight="10dip" android:background="@drawable/layout_button_different" android:gravity="center_vertical|center_horizontal" android:height="30dp" android:padding="0dip" android:text="@string/equals" android:textColor="@drawable/layout_button_different" android:textSize="50dp" android:width="70dp" /> 

Мое также актуально: в деятельности я делаю это:

 btnEquals.setCompoundDrawablesWithIntrinsicBounds(null,getResources().getDrawable(R.drawable.up2), null, null); btnEquals.setPadding(0, 5, 0, 0); btnEquals.setTextSize(15); 

Это работает, но после этого я установил это:

 btnEquals.setCompoundDrawables(null, null, null, null); btnEquals.setPadding(0, 0, 0, 0); 

Результат – плохое вертикальное выравнивание.

Solutions Collecting From Web of "Центральная текстовая кнопка Android"

Ваш существующий макет не может надеяться центрировать текст из-за выбранных вами размеров. Вы установили высоту кнопки 30dp а ваш textSize – 50dp , и по какой-то причине Android не может справиться с этим и 50dp текст. Если вы увеличите размер своей кнопки или уменьшите свой текст, вы увидите, что центрирование работает.

Это очень легко, вы ставите это:

 android:textAlignment="gravity" 

Эта работа, когда у вас есть это:

 android:gravity="center" 

Рассматриваются три системы. Конструктор макетов xml, симулятор и реальный телефон. Текст в кнопке, если вы укажете гравитацию = «центр», будет выглядеть так. В дизайне макета xml он будет выглядеть так, как левая буква находится в центре кнопки, а остальные буквы справа. (Выглядит неправильно) В симуляторе текст хорошо отображается в центре. (Правильно) В телефоне текст хорошо отображается в центре. (верный)

Вы также можете использовать отрицательные числа в setPadding. Это может помочь, если ваш шрифт большой, а кнопка маленькая. Попробуйте также установить верхнее или нижнее значение на более отрицательное число, если оно все еще находится вне центра.

 <Button android:id="@+id/AnswerE" style="@style/defaultbuttonstyle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:onClick="AnswerCheck" android:text=" E " android:textStyle="bold" /> 

Это сработало для меня