Почему ящики не видны в флажках? - PullRequest
0 голосов
/ 31 января 2019

после того, как создал этот стиль:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/offer_text_background</item>
    <item name="colorPrimaryDark">@color/app_background</item>
    <item name="android:checkboxStyle">@style/settingsNotificationCategory</item>
</style>

<style name="settingsNotificationCategory">
    <item name="android:textSize">30sp</item>
</style>

Мой флажок из флажка убирает:

невидимые ящики

Без этого стиля:

видимые поля

Мне нужно динамически создать chceckbox в kotlin:

var checkBox = CheckBox(this)
checkBox.text = category
checkBox.setTextColor(resources.getColor(R.color.customText))
        checkBox.isChecked = true
notificationCategoryLayout.addView(checkBox)

что случилось?

Я пытался:

var checkBox = CheckBox(this, null, R.style.settingsNotificationCategory)
checkBox.text = category
checkBox.setTextColor(resources.getColor(R.color.customText))
        checkBox.isChecked = true
notificationCategoryLayout.addView(checkBox) 

но эффект тот же ...

Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 31 января 2019

но когда я создаю checbox в макете:

 <CheckBox
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="test"
                            android:textColor="@color/customText"
                            android:theme="@style/settingsNotificationCategory"/>

это работает без

parent="Widget.AppCompat.CompoundButton.CheckBox"

можно установить тему в коде?Я хочу установить textSize через стиль, потому что я использую макеты с разным разрешением (для больших, больших, малых размеров)

0 голосов
/ 31 января 2019

Вам дан флажок стиль, который содержит только textSize, поэтому он будет влиять на стиль флажка, вы можете сделать 2 вещи:

сначала просто установите текстовый размер программно:

checkBox.setTextSize(TypedValue.COMPLEX_UNIT_SP, 30);

или измените свой стиль следующим образом:

<style name="settingsNotificationCategory" parent="Widget.AppCompat.CompoundButton.CheckBox">
    <item name="android:textSize">30sp</item>
</style>

, чтобы наследовать базовый стиль флажка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...