java - ImageButtons 不从主题样式获取属性

标签 java android android-layout

我的 ImageButton 似乎不受样式文档中设置的参数的影响,但是当我以完全相同的方式定义其样式时,其他 Button 会受到影响。

这是我的 styles.xml 的压缩版本:

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:buttonStyle">@style/Button</item>
    <item name="android:imageButtonStyle">@style/ImageButton</item>
</style>

<style name="Button" parent="@android:style/Widget.Button">
    <item name="android:background">@color/icons</item>
</style>

<style name="ImageButton" parent="@android:style/Widget.ImageButton">
    <item name="android:background">@color/icons</item>
</style>

当使用这些样式时(我已经尝试过与其他项目一起使用,但似乎都不起作用),普通的 Button 将采用 @color/icons 的颜色,但 ImageButton 则不会。当使用 style="@style/ImageButton" 单独设置样式时,它们也不会受到影响,但是,如果我直接在每个按钮上使用 android:background="@color/icons" 设置背景,它确实会产生影响。

最佳答案

使用

style="@style/ImageButton"

在你的按钮主体中,例如:`

<Button
            style="@style/button_theme"
            android:text="Sign In" 
            android:id="@+id/id" />`

这是按钮样式

<style name="button_theme">
<item name="android:background">@drawable/button_shape</item>
<!--<item name="android:padding">5dp</item>-->

<item name="android:textColor">#ffffff</item>

<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>

关于java - ImageButtons 不从主题样式获取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36296813/

相关文章:

Java 小程序无法在浏览器中运行 - 使用图像文件

安卓应用专用软键盘

android - GMS 服务更新会终止 Android 设备中当前正在运行的依赖于 GMS 的进程/服务

android - 片刻后按钮声音停止

java - Java 中的同步 - Vector 与 ArrayList

java - 将一组文本按钮添加到网格布局

android - fragment 内异步任务中的空指针异常

android - 通过包含 8 次另一个布局 : unique cells identifiers? 来构建电路板布局

android - 如果android最低版本更改,会发生什么?

java - Servlet.service() 抛出 ClassCastException