有没有办法将ActionBar标签(文本)更改为图像?
我已经消失了文字,但我无法在那里获得图片。 styles.xml在google教程中看起来像:
<resources>
<style name="AppTheme"
parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="Widget.AppCompat.Light.ActionBar.Solid">
<item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
<item name="android:background">@drawable/full_logo</item>
<!-- Support library compatibility -->
<item name="titleTextStyle">@style/MyActionBarTitleText</item>
<item name="background">@drawable/full_logo</item>
</style>
<!-- ActionBar title text -->
<style name="MyActionBarTitleText"
parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@android:color/transparent</item>
<!-- The textColor property is backward compatible with the Support Library -->
</style>
</resources>
但是drawable / full_logo图像是根据条形尺寸拉伸的。所以它在方向变化时会变形。
有没有办法在API 10中用图像替换文本标签? 如果没有,哪种API最低可能?感谢。
答案 0 :(得分:0)
您只需将自定义视图设置为操作栏即可。所以只需将您的imageview放在那里:
final ActionBar actionBar = getSupportActionBar();
final View header = getLayoutInflater().inflate(R.layout.action_bar_header, null);
final ImageView logoImage = (ImageView) header.findViewById(R.id.action_bar_header_image);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setCustomView(header);
答案 1 :(得分:0)
使用徽标显示品牌形象而非标签:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="displayOptions">useLogo</item>
<item name="logo">@drawable/full_logo</item>
</style>
请注意,从AppCompat v21开始,您不需要android:
命名空间属性。如果您使用的是旧版本,则需要复制每个属性以使用android:
前缀和非前缀格式。
答案 2 :(得分:0)
<resources>
<style name="AppTheme"
parent="Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="Widget.AppCompat.Light.ActionBar.Solid">
<item name="displayOptions">showHome|useLogo</item>
<item name="logo">@drawable/full_logo</item>
</style>
</resources>
图像自动居中(或收缩)以便可见。