Я пытаюсь манипулировать шириной кнопки Android с помощью Kotlin, используя minSdkVersion 19 или выше (тестовый телефон имеет Android 8.0.0, API 26). Когда я пытаюсь сделать кнопку меньше, я вижу, что ее ширина не может превышать пороговое значение примерно выше 200 пикселей.
Вот как я создаю и манипулирую кнопкой:
val button = Button(this)
button.width = btn_side // btn_side = 175
constraintLayout.addView(button)
Что я уже пробовал . Различные макеты: TableLayout, ConstraintLayout. Я попытался установить textSize на ноль в случае, если это мешало ширине кнопки. Или заменить любой текст кнопки на пустую строку. Я попытался применить ноль или 10px minWidth к кнопке. Я играл с методом кнопки setPadding. Я попытался назначить ширину через свойство layoutParams. Ничего из этого не помогло.
Чего мне не хватает?
Вот мой xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".GameFieldActivity"
android:id="@+id/constraintLayout"
>
* UPD *
Кто-то удалил ответ, возможно, с полезной подсказкой: возможно, есть способ использовать разные конструкторы кнопок . Возможно, есть способ передать желаемую ширину кнопки через AttributeSet .