gpt4 book ai didi

android - 为什么我的 ImageButton 样式没有应用到我的 ImageButton?

转载 作者:太空狗 更新时间:2023-10-29 13:16:28 26 4
gpt4 key购买 nike

我设置了一些样式来处理不同的 API(一种用于 v21,另一种用于任何低于该版本的 API)。我想为我的 ImageButton 设计一种样式,但它似乎没有按我预期的方式工作。

v-21 的风格是

<style name="BorderlessImageButton" parent="AppTheme.BorderlessImageButton">
<item name="android:background">?android:attr/selectableItemBackgroundBorderless</item>
<item name="android:tint">@color/secondary_text</item>
</style>

将用于 v-21 以下的所有其他 API 的样式是

<style name="BorderlessImageButton" parent="AppTheme.BorderlessImageButton"/>

<style name="AppTheme.BorderlessImageButton" parent="@android:style/Widget.ImageButton">
<item name="android:tint">@color/secondary_text</item>
<item name="android:background">@color/borderless_button_background</item>
</style>

这是我的xml资源

<ImageButton
android:id="@+id/imageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/date_picker"
android:background="@null"
android:padding="10dp"
android:src="@drawable/ic_today_white_24dp"
android:theme="@style/BorderlessImageButton" />

如果我在具有 v-21 或 v-22 的设备上运行它,按钮不会像我预期的那样对我的触摸做出视觉 react ,使用 ?android:attr/selectableItemBackgroundBorderless。此外,在 v-21 以下的任何设备上,按钮仍然不会对我为其设置的选择器资源使用react。

res/color/borderless_button_background.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/accent" />
<item android:color="@color/transparent"/>
</selector>

请帮助我让我的按钮根据用户设备上的 API 对触摸做出正确 react 。

谢谢

最佳答案

你需要应用你的风格

style="@style/BorderlessImageButton"

属性 android:theme 用于 Activity ,参见 this .


更新

从 Android 5.0 开始,或使用 AppCompat 22.1.0+ (api 11+),您还可以使用 ThemeOverlay 并在单个 View 上使用 android:theme。您可以阅读有关此技术的信息 here .感谢伊恩。

关于android - 为什么我的 ImageButton 样式没有应用到我的 ImageButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34246614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com