这个问题实际上让我发疯了,我一直在阅读并在各地寻找解决方案,但我仍然无法在动作栏上放置自定义徽标,我可以放置背景和其他功能但没有徽标,我'顺便提一下,在布局设计师中放入一些代码,当我把它们设置为“holo light dark action bar”时,我可以看到徽标,但是当我运行应用程序时,它永远不会出现:
Android Manifest:
<application
android:allowBackup="true"
android:icon="@drawable/icon_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".Activities.ItemManagerActivity"
android:logo="@drawable/icon_launcher"
android:label="@string/title_activity_item_manager" >
</activity>
<activity
android:name=".Activities.MainActivity"
android:icon="@drawable/icon_launcher"
android:theme="@style/CustomActionBarTheme"
android:label="@string/title_activity_main" >
</activity>
MainActivity:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
android.support.v7.app.AppCompatActivity actionBar;
//getSupportActionBar().setIcon(R.drawable.icon_launcher);
getSupportActionBar().setTitle("");
getSupportActionBar().setDisplayUseLogoEnabled(true);
getSupportActionBar().setLogo(R.drawable.icon_launcher);
styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:logo">@drawable/icon_launcher</item>
<!-- Customize your theme here. -->
</style>
<style name="CustomActionBarTheme"
parent="@style/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="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:logo">@drawable/icon_launcher</item>
<!-- Support library compatibility -->
<!--<item name="background">@drawable/profile_banner_orange</item>-->
</style>
答案 0 :(得分:3)
这应该
getSupportActionBar().setIcon(R.drawable.ic_launcher);
但别忘了添加
getSupportActionBar().setDisplayShowHomeEnabled(true);
随之而来
答案 1 :(得分:2)
尝试使用
$.trim(str);
答案 2 :(得分:1)
actionBar.setDisplayShowHomeEnabled(false);
OR
actionBar.setHomeButtonEnabled(false);
答案 3 :(得分:0)
这样做:
在菜单xml文件中添加项目:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".YourActivity">
<item android:id="@+id/your_id"
android:icon="@drawable/your_icon"
app:showAsAction="always"
android:title="@string/your_title"
/>
</menu>
在您的活动中,覆盖onCreateOptionsMenu():
MenuItem your_menu;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.your_menu_name, menu);
your_menu = menu.findItem(R.id.your_id);
return true;
}
希望以上描述有所帮助。感谢。
答案 4 :(得分:0)
尝试一下
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
{
getSupportActionBar().setLogo(getDrawable(R.drawable.actionbar_logo));
}
else
{
getSupportActionBar().setLogo(getResources().getDrawable(R.drawable.actionbar_logo));
}
如果要包含导航抽屉按钮,请同时包含此行
getSupportActionBar().setDisplayHomeAsUpEnabled(true);