我正在尝试自定义“材质”按钮(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>
我为backgroundTint从中提取的drawable文件夹是这样设置的:
<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,但并未将颜色替换为可绘制文件中配置的颜色。
任何关于我做错事情或与文档链接的想法(我一直在尝试在文档中找到实现此问题的正确方法,但找不到有关此信息)