gpt4 book ai didi

使用 ActionBar 或 ActionBarSherlock 的主题拉伸(stretch) Android 按钮图像

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:12 26 4
gpt4 key购买 nike

我刚刚将 ActionBar 集成到我的 Android 应用程序中(实际上,我最终选择了 ActionBarSherlock,因为它具有向后兼容性)。

要在 Activity 上显示 ActionBar,您必须使用一组特定的主题:Theme.Holo.* 用于 ActionBar 或 Theme.Sherlock.* 用于 ActionBarSherlock

每当我修改 AndroidManifest.xml 以便现有 Activity 的样式使用上述 ActionBar 主题之一时,我发现 Activity 中每个 Button 的背景图像都会变形。具体来说,图像被垂直拉伸(stretch)到比图像实际包含的更多像素。只有当我使用 layout_height="fill_parent"时,我才会期望这种行为,但我没有。此外,其他主题(与 ActionBar 相关的主题除外)似乎不会发生这种情况。

我尝试发布屏幕截图,但我的声誉还不够高。我道歉。

这是我的一个受主题不利影响的按钮声明:

<Button
android:textStyle="bold"
android:typeface="sans"
android:layout_height="wrap_content"
android:id="@+id/btnAddtoBag" android:layout_width="wrap_content"
android:background="@drawable/add_to_bag_selector">
</Button>

因为它引用了一个选择器,所以我还将包含选择器的 XML,其中引用了实际的 png 文件:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/selected_add_to_bag" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/selected_add_to_bag" /> <!-- focussed -->
<item android:drawable="@drawable/default_add_to_bag" /> <!-- default -->
</selector>

最后,这是发生这种情况时我应用到主题的样式:

<style name="Theme.CustomActionBar" parent="Theme.Sherlock.Light.DarkActionBar.ForceOverflow">
<item name="actionBarStyle">@style/ActionBar</item>
</style>

<style name="ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
<item name="android:displayOptions">showHome|useLogo</item>
<item name="displayOptions">showHome|useLogo</item>
</style>

最佳答案

使用 ImageButton 并设置 android:src="@drawable/add_to_bag_selector"并且您的图像不应被拉伸(stretch)。

你还需要设置 android:backgorund="@android/color/transparent"

关于使用 ActionBar 或 ActionBarSherlock 的主题拉伸(stretch) Android 按钮图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12466674/

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