如何在Android中为所有的ImageButton应用一个样式?

3
我在我的应用程序中有以下样式。
  <style name="BtnPressed">
      <item name="android:background">@drawable/btn_default</item>
  </style>

现在我想将这应用于我的应用程序中的所有ImageButtons。 我尝试使用这个问题中提到的解决方案,但它没有起作用。 我正在使用API-7。


你有没有看那个链接中的问题部分?那个用户已经正确设置了它;你需要使用<style>标签创建一个完整的主题,并且需要在你的清单文件中设置parent="android:Theme",并且需要将你的<application>标签设置为使用该主题。 - Cat
2个回答

8
把你的BtnPressed样式修改为以下内容:
<style name="BtnPressedStyle" parent="Widget.ImageButton">
  <item name="android:background">@drawable/btn_default</item>
</style>

定义一个应用程序范围的主题/样式:

<style name="MyTheme" parent="android:Theme">
   <item name="android:imageButtonStyle">@style/BtnPressedStyle</item>
</style>

然后将其应用到您应用程序的清单标记中:
<application theme="@style/MyTheme" ... />

如果这个可以起作用,请告诉我,我是从覆盖整个应用程序按钮样式的代码中调整过来的,但ImageButton同样适用。


-5

你也可以在你的IDE(notepad++就可以)中花费大约5分钟来搜索和替换xml中的ImageView,以及为代码生成的图像视图添加一小段代码。我认为这并不是什么错误,而且会帮助你维护应用程序。


那样做并不是很高效的方式。 - 2hamed
但是不好的做法。DRY - 不要重复自己。 - donturner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接