Android ActionBar 图标未显示

Android ActionBar Icons not showing

我很沮丧,每件事都设置正确,甚至在渲染(使用 Android Studio 时)也会显示操作栏图标,但是当我 运行 它在物理智能手机上时(pocket neo 4.1.2) 它只显示 ic-launcher 和标题什么是解决方案?

activity_main_actions.xml

`

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <!-- Search Widget -->
    <item android:id="@+id/action_search"
        android:icon="@drawable/ic_action_b"
        android:title="@string/action_search"
        app:showAsAction="ifRoom"
        />
    <!-- Location Found -->
    <item android:id="@+id/action_location_found"
        android:icon="@drawable/ic_action_location_found"
        android:title="@string/action_new"
        app:showAsAction="ifRoom" />
</menu>

`

main_activity.xml `

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent" android:layout_height="match_parent"
    tools:context=".MainActivity">

</RelativeLayout>

` MainActivity.java

`

public class MainActivity extends Activity {

    private ActionBar actionBar;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);


        actionBar = getActionBar();

        // Hide the action bar title


        actionBar.setIcon(R.mipmap.ic_launcher);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main_actions, menu);

        return super.onCreateOptionsMenu(menu);
    }


}

`

好的,根据我的检查结果 here 你的 phone 分辨率真的很小 (240 x 320)
因此,因为您使用的是 app:showAsAction="ifRoom",它只会在操作栏中有空间时显示。
如果您希望它始终显示,您需要将其更改为 app:showAsAction="always"

希望对您有所帮助,如果您对我的回答有任何其他问题,请随时在评论中提问。

根据我的经验,如果目标设备不是 v21(棒棒糖),您应该在定义 showAsAction.[=15 时使用 android 命名空间,而不是 app 命名空间=]

如果您希望两者兼容,并且您的 IDE 抱怨 android 命名空间,请使用 app 命名空间创建一个新布局并将其放入您的 v21 布局文件夹.

已解决!

我添加了带有 minsdk = 14 的 support:appcompact-v7 是我的错误, 无论如何谢谢你的回答。