我正试图在Android上的ActionBar上做一些事情.
我已经在操作栏的右侧添加了新项目.
如何更改操作栏的左侧?我想更改图标和文本,我想在操作栏中为其他屏幕添加"后退按钮"

我只是在学习android,对于我对这个主题缺乏了解而感到抱歉.我主要是作为Web开发人员工作,我们一直使用Font Awesome,所以我试图让它与Android一起工作.我第一次发现我可以在这里使用字体真棒.随着一些深层次的搜索,我发现了如何把字体真棒图标操作菜单栏中的标题这里.通过设置标题而不是图标和标题,我错过了有空间时备份文本的能力.
我想知道我是否可以在字体中设置图标而不是标题,并且只有标题的正常描述性文本.当我在菜单项上执行setIcon方法时,它需要可绘制或可绘制的资源ID.我可以将它转换为drawable吗?什么是最好的方法来保持图标的字体真棒和同时具有图标和标题?任何帮助或方向表示赞赏.
所以我的主要活动中有以下代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// https://stackoverflow.com/a/32780748/2066736
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.drawable.redbird_webkit_onwht);
getSupportActionBar().setDisplayUseLogoEnabled(true);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_menu, menu);
setFontAwesomeMenuItem(menu, R.string.icon_calendar, R.id.action_calendar);
setFontAwesomeMenuItem(menu, R.string.icon_search, R.id.action_search);
setFontAwesomeMenuItem(menu, R.string.icon_plus, R.id.action_new_post);
// menu.add(0, MENU_ITEM_LOGOUT, 102, R.string.logout);
return true;
}
private void setFontAwesomeMenuItem (Menu menu, int rIdString, int rIdIdOfElement) {
SpannableString s …Run Code Online (Sandbox Code Playgroud) 好的 - 这个让我有点疯狂.
我下载了Android Studio 0.8.14.我用它创建了一个测试应用程序,一切正常.
从那时起,我显然已经做了一些事情,因为我创建的每个新应用程序在编译并运行时都缺少操作栏中的应用程序图标.
如果我在活动视图页面上更改主题,我可以在预览中看到它,但是当我在手机上运行时没有显示任何内容.
我创建的原始应用程序仍然显示图标.
我的最小SDK为9,目标为21.
任何人的想法?
谢谢
只是添加..基于建议我已将最低SDK设置为11并尝试以下但未成功使用...
ActionBar actionBar = getActionBar();
actionBar.setIcon(R.drawable.ic_launcher);
Run Code Online (Sandbox Code Playgroud)
这导致我的应用程序在运行时崩溃(在4.4上)
ActionBar actionBar = getSupportActionBar();
actionBar.setIcon(R.drawable.ic_launcher);
Run Code Online (Sandbox Code Playgroud)
什么也没做.
我从创建方法的活动中调用这些.
提前致谢
我的启动器图标没有出现在我的ActionBar中,尽管设置了android:icon属性(当我安装应用程序时,启动器出现在我的主屏幕上).注意:我正在使用片段,他们也提供了操作项 - 但这不应该影响主页图标集,对吗?
以下是我的清单中的一些相关代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns="http://schemas.android.com/apk/res/android"
package="com.mywebsite.myapp">
<application
android:name=".MyApp"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name">
...etc...
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
来自styles.xml的代码:
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
来自menu_main.xml的代码,以获得良好的衡量标准:
<?xml version="1.0" encoding="utf-8"?>
<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=".MainActivity">
<!-- Note: my fragments also contribute action items. -->
<item
android:id="@+id/action_about"
android:orderInCategory="100"
android:title="@string/menu_item_about"
app:showAsAction="never" />
</menu>
Run Code Online (Sandbox Code Playgroud)
以及MainActivity.java中的一些代码:
package com.mywebsite.myapp;
import android.support.v7.app.ActionBarActivity;
...etc...
public class MainActivity …Run Code Online (Sandbox Code Playgroud)