Настройка / расширение Theme.MaterialComponents - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь настроить кнопки Материал (API 28), но не могу переопределить некоторые базовые элементы. Вот пример, где я пытаюсь добавить стили для кнопки

В моем файле style.xml у меня есть

<style name="CollapsingHeaderBtn" parent="@android:style/Widget.Material.Button.Borderless.Colored">
    <item name="android:layout_margin">0dp</item>
    <item name="android:textAllCaps">false</item>
    <item name="android:textSize">14sp</item>
    <item name="android:textColor">@color/colorBlack</item>
    <item name="android:backgroundTint">@drawable/post_layout_header_design</item>
</style>

Папка для рисования, из которой я беру фоновый оттенок, устанавливается следующим образом:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid
                android:color="#E0E0E0"/>
            <stroke
                android:width="1dp"
                android:color="#BDBDBD"/>
            <corners
                android:topLeftRadius="5dp"
                android:topRightRadius="5dp"/>
        </shape>
    </item>
</selector>

и в моем файле манифеста я настроил тему этого действия как:

    <activity
        android:name=".UI.Posts"
        android:configChanges="orientation"
        android:screenOrientation="portrait"
        android:label="Activity"
        android:theme="@style/MaterialComponents"/>

Я применяю тему, созданную в моем файле style.xml:

<style name="MaterialComponents" parent="Theme.MaterialComponents">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

А вот кнопка, которую я пытаюсь стилизовать в документе xml своей деятельности.

   <Button
        android:id="@+id/myButton"
        style="@style/CollapsingHeaderBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Action"
        android:textAlignment="textStart"/>

По некоторым причинам некоторые значения, кажется, работают, он удаляет задний розовый backgroundTint по умолчанию, но не заменяет цвет, настроенный в нарисованном файле.

Любые мысли о том, что я делаю неправильно, или ссылка на документацию (я пытался найти правильный способ реализации этого в документации, но не смог найти информацию об этом)

...