在构建我的应用程序时,我一开始只使用 Theme.Light.NoTitleBar.Fullscreen 主题。我像这样为整个应用程序构建了所有布局,并按照我想要的方式进行设置。布局中使用的一些可绘制对象的大小已专门设置,而另一些则设置为 wrap_content。
然后我决定切换到 Holo light 主题。当我这样做时,设置为 wrap_content 的布局中使用的所有可绘制对象最终都会变大。几乎就像他们从一个更大的桶里拉出来一样。事实上,有些看起来像是被拉长了。
我知道旧主题的背景是黑色的,但这不是问题(这实际上是包含在另一个布局中的布局文件)。显然,两者在尺寸上存在很大差异。
最佳答案
这只是我根据我在这个帖子中读到的内容做出的猜测。
这可能是因为您将这些图像用作 Button
View 的背景属性。这是不安全的,因为根据默认边距值(在主题中定义),Button
可以根据需要拉伸(stretch)背景图像。如果是这种情况,那么您需要改用 ImageButton
View 并使用 setImage*()
方法来分配图像。在那里你可以使用 Carlos Robeles 提到的 scaleType
属性。
关于android - 主题的可绘制问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20864074/