Android программно изменить размер кнопки

Программно изменить ширину кнопки в android

Как изменить ширину кнопки программно. Я могу изменить высоту, но ширина не меняется. Ниже приведен фрагмент кода

Но ширина кнопки занимает ширину экрана.

button.setLayoutParams(new LinearLayout.LayoutParams(10, 100));

Должен иметь работу для вас.

Для этого есть один пример Awesome: проверьте это

Вы должны применить LayoutParams ViewGroup который содержит ваш View . То есть, если ваша кнопка находится внутри RelativeLayout , вы должны использовать RelativeLayout.LayoutParams

Вы можете сделать это таким образом.

Но убедитесь, что вы это сделаете, добавив кнопку к родительскому элементу. И LinearLayout.LayoutParams используется, когда parent является LinearLayout и когда родительский RelativeLayout использует RelativeLayout.LayoutParams .

Может это сделать

Попробуйте использовать только mMenuContainer.addView(button);

Я решил, используя это:

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

В моем случае я использую AppCompatImageButton (и AppCompat). Оказывается, если я сохраню настроенные изображения с плотностью в различных доступных папках: drawable-ldpi, drawable-mdpi, drawable-hdpi и т. Д., Тогда кнопка не будет масштабироваться. Вместо этого я должен был поместить одну кнопку для каждой кнопки в drawable-nodpi . Убедитесь, что изображение кнопки с рисунком nodpi имеет наибольший размер, который вам нужен. Android не будет масштабировать размер кнопки; Однако он может масштабировать размер вниз. Я создал кнопку в XML следующим образом:

Затем, в onCreate, когда вы извлекаете кнопку, вызовите adjustButtonSize (который я ввел в базовый класс):

Источник

Поменять размер кнопки

Кнопка должна быть квадратной, а так как ширина и высота экрана разная и высота кнопки — это 33% от высоты лейаута, то ширину приходиться устанавливать динамично. Вот тут еще одна проблема, как это сделать ? Все способы из интернетов не помогли.

Пытаюсь поменять ширину в классе MainActivity в методе onCreate() и классе View в методе onLayout().
В первом случае

Поменять размер кнопки
Всем привет! Как подогнать размер кнопки по бокам, чтобы он был симметричен окну сверху? Скрин.

Изменился размер кнопки «свернуть все окна». Как вернуть прежний размер?
Такая проблема уже была на RC версии ОС, думал на финалке этого не произойдет, ан нет) произошло.

Размер кнопки шрифта и кнопки
Hello! Как увеличить размер этой долбанной кнопки? 🙂 И размер шрифта выпадающего списка.

Размер кнопки
создается JButton и добавляется в JFame, расплывается на все окно, установка размеров через.

Приложение для людей, регулярно попадающих молотком по пальцам?
То, что ты пробовал полная фигня, попробуй в onMeasure.

Добавлено через 29 секунд
типо такого:

Решение

размер экрана != размеру лаяута, поэтому код выше — бесполезный, его боты копируют каждый раз как «решение» проблемы

Читайте также:  Как разбить диск андроид

проще всего сделать так

Размер кнопки
Как его изменить? По умолчанию кнопка слишком мала.

Qt размер и позиция кнопки
Пишу проект где идёт просто обработка кнопки. Конструктор: ProjectWindow::ProjectWindow(QWidget.

Изменить размер кнопки
Скрин : Помогите сделать меньший размер кнопки ( скачать торрент ) по уровню соц закладок .

Размер кнопки Button
добрый день. понимаю что нубский вопрос=)но всё же. накидываю gui приложения через tkinter и.

Изменить размер кнопки
Есть две кнопки и Static. По нажатию первой кнопки размеры второй меняются и размеры отображаются в.

Источник

Как настроить размер кнопки в соответствии с размером экрана в Android Studio

Я новичок в разработке android, и я делаю калькулятор в Android studio. Мой калькулятор работает нормально, но есть проблема с его макетом, я установил его на свой планшет, и кнопки были очень маленькими, поскольку я разработал их в Android Studio на эмуляторе, размер кнопки не меняется и нуждается в помощи, чтобы размер кнопки увеличивался по мере изменения размера экрана.

мой дизайн калькулятора в Android Studio

5 ответов

вы должны использовать layout_weight для достижения того, что вы хотите, и это будет использоваться путем обертывания каждой строки кнопок внутри LinearLayout и все такое LinearLayouts плюс TextView будет обернут внутри одного большого LinearLayout вместо RelativeLayout следующим образом:

обновление:

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

Примечание здесь мы изменено:

1- layout_height : от wrap_content to match_parent .

2- background : снятие drawable(clear_btn) и сделать это transparent .

1- src : присвоение ему drawable(clear_btn).

2- scaleType : да fitCenter чтобы сделать его масштабируется во всей доступной области без разрушения коэффициента масштабируемости изображения.

П. С.: in если вы хотите, чтобы кнопка взяла всю погоду области, она масштабируется или нет, измените scaleType С fitCenter to fitXY (может быть, вам понадобится это для «0″).

при установке высоты / ширины кнопки в android использование фиксированных значений пикселей плотности приведет к точным размерам на всех экранах. Использование значений ширины как wrap_content , fill_parent , веса etc. заставит кнопку выглядеть в соответствии с плотностью экрана.

попробуйте пройти по этой ссылке один раз: -рекомендации по интерфейсу пользователя

Если вы хотите поддерживать несколько экранов не перетаскивать и изменять вид вручную.

Вы можете проверить как android:layout_weight атрибут и LinearLayout

Решение 1: пожалуйста, используйте дименс.xml для указания С и высоты для кнопок.

Источник

Android – масштабирование кнопки изображения

Я пытаюсь подобрать образ внутри ImageButton для тестирования, но способ, которым работает ImageButton не так, как ожидалось.

Первоначально я сделал изображение с размером изображения 988×89 пикселей и разместил его внутри ImageButton , который находится в эмулированном экране с разрешением 7 дюймов 1024×600 пикселей. ImageButton – 988dp x 89dp , я знаю, что dp не совпадает с пикселями, но для этого разрешения я ожидал, что изображение будет достаточно масштабировать, чтобы занять большую часть ImageButton . Также я изменился на px вместо dp для тестирования, и это не имело никакого значения.

Читайте также:  Террария для андроид нипы

Но вместо этого ImageButton сделал изображение внутри него ОЧЕНЬ маленьким (синие линии являются границами ImageButton а зеленая линия – индикацией выравнивания по центру).

Поэтому вопрос №1: Почему ImageButton делает изображение таким большим, как это настолько мало, когда оно может заполнить большую часть экрана, даже ImageButton размер ImageButton очень широк?

Поэтому, чтобы преодолеть это, я выбрал adjustViewBounds который не имел никакого значения, что вызывает вопрос №2: Почему? Не следует ли настраивать границы представления для настройки границ обзора?

Поэтому позже я изменил scaleType на fitCenter и изображение стало:

Это тоже странно для меня, так как ImageButton имеет тот же формат изображения, что и изображение, поэтому я ожидал бы, что он будет соответствовать 100%, но он не подходит (ширина по обеим сторонам изображения равна ширине).

Поэтому позже я изменил scaleType на fitXY и я получил свой окончательный результат:

Кажется, что это ожидаемое изображение (сравнение образа fitXY с изображением fitCenter в Photoshop показывает, что образ fitCenter немного овальный, но здесь его невозможно fitCenter , что ожидается, так как ширина не соответствует Изображение по высоте).

Итак, мой общий вопрос (№ 3): Каков правильный способ подбора изображения на Android, и ожидать, что он будет иметь обычный размер на экране, и почему масштабирование настолько грязное, и я делаю это неправильно?

Я знаю, что есть проблемы с размерами экрана и dp и т. Д., Но масштабирование не ведет себя контролируемым образом, fitCenter делает изображение овальным, а fitXY слишком сильно зависит от установки правильного отношения изображения на XY, поэтому мне интересно, Я делаю что-то неправильно и как это должно быть правильно.

Это хорошая попытка, вы пытаетесь глубже проникнуть в андроидные реализации.

Ответ # 3:

Сначала предоставление точного размера, так как высота и ширина не являются хорошей практикой в ​​Android. Если вы хотите знать, почему, причина была бы просто будет пытаться сжать / развернуть изображение до указанного вами размера в параметрах высоты и ширины. Всегда wrap_content является предпочтительным параметром, так что ОС будет автоматически настраиваться в зависимости от размера экрана. Если вам нужно изменить:

Ответ # 1:

Почему ImageButton делает изображение таким большим, как это настолько мало, когда оно может заполнить большую часть экрана, даже если размер ImageButton очень широк?

Ответ аналогичен вышесказанному. Размер вашего изображения будет намного меньше, чем у Android OS, рассчитанного в зависимости от вашего упомянутого размера, с учетом разрешения устройства. Используйте сайт http://coh.io/adpi/ (или http://density.brdrck.me/ ), чтобы сделать его простым для вычисления. Всегда принимайте mdpi в качестве стандартного или базового. Предположим, что ваш размер изображения составляет 988X89 в mdpi, это будет:

Читайте также:  Yandere school для андроид

Теперь, как будто вы пытаетесь просмотреть изображение 988px X 89px на экране xhdpi, где Android Os рассчитал размер изображения как 1976px X 178px, что намного больше вашего размера изображения 988px X 89px. Поэтому вы получаете небольшое изображение с большей площадью белого цвета.

Как это исправить? Просмотрите спецификации Android для поддержки различных экранов плотности. Это требует, чтобы вы создавали изображения специально для hdpi, mdpi, xhdpi и помещали их в соответствующие папки:

На активность Creat .. вы можете получить разрешение экрана … и изменить размер изображения в соответствии с экраном Widht и Height .. и установить изображение. Таким образом, ваше отношение будет одинаковым для всех типов устройств.

Для изменения размеров изображений . 1. Получить ширину и высоту экрана. 2. увеличить изображение в соответствии с разрешением экрана. 3.set Изображение для просмотра.

Вы также должны проверить, есть ли какая-либо прокладка вокруг вашего imageButton, я создал ту, которая выглядела очень похожей на использование, и хотя fitXY работал, изменение размера изображения стало очень запутанным с ошибкой. Однако я тогда понял, что вокруг всего изображения было 100p, поэтому граница была на расстоянии 100 дп на каждом краю изображения.

Источник

Создаем кнопку в Android. Пример работы с виджетом Button в Android

В этой статье мы научимся использовать виджет Button в Android. Также здесь рассказывается о том, как обрабатывать нажатия, применять стили, работать с xml-макетом кнопки, а также управлять виджетом Button в коде. Урок будет полезен для начинающих андроид-программистов.

Сегодня мы узнаем как задавать различные расположение для кнопок, менять фоновые изображения и обрабатывать события, связанные с виджетом Button .

Создаем кнопку в Android

Кнопка представляет собой кликабельный Android виджет, который может принимать различные формы и реагировать на действия пользователя, а именно: обычное нажатие, длительное нажатие и т.д. Виджет Button доступен в пакете android.widget.Button .

Как и любой другой виджет, вы можете объявить Button в макете вашей активности или фрагмента, также создать кнопку программно.

Давайте создадим первые кнопки и зададим различные свойства каждой:

Как работают кнопки? Что происходит в каждом виджете Button?

Android отрендерит приведенный выше XML-код макета следующим образом:

  1. Android увидит тип макета LinearLayout установит его в вертикальное положение.
  2. Параметр layout_width укажет ширину макета, а layout_height — высоту. Если в каком-то из значений будет match_parent , то кнопка растянется на весь экран; wrap_content укажет, что размеры кнопки должны быть достаточными, чтобы вместить вложенный контент (текст, картинка).
  3. android:layout_gravity определит позиционирование виджета Button относительно родительского компонента.
  4. android:gravity определит выравнивание содержимого Button . Она задается одной из констант left, right, center_vertical, center_horizontal, center .

Как выглядит макет после рендеринга (прорисовки макета после анализа):

Инициализация кнопки в Android

Теперь, когда у нас уже есть готовый макет с четырьмя разными по форме и размеру кнопками, давайте инициализируем их в коде нашей Activity :

Источник

Оцените статью