[英]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);
}
}
`
从我在这里检查的内容来看,您的手机分辨率确实很小(240 x 320)
所以,因为你正在使用app:showAsAction="ifRoom"
如果有空间在动作条它才会显示。
如果您希望它始终显示,则需要将其更改为app:showAsAction="always"
如果您还有其他与我的答案有关的问题,希望能对您有所帮助。
根据我的经验,如果目标设备不是v21(lollipop),则在定义showAsAction
时应使用android
名称空间,而不是app
名称空间。
如果您希望两者兼容,并且您的IDE抱怨android
命名空间,请使用app
命名空间进行新布局,并将其放置在v21布局文件夹中。
解决了 !
我添加了support:appcompact-v7和minsdk = 14是我的错误,无论如何,谢谢您的回答。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.