작업 모음에 항목을 추가하는 책에서 작은 응용 프로그램을 구현하려고했습니다. 문제는 항목이 오버플로 메뉴 (세 개의 점이있는 오른쪽 상단 아이콘) 목록에 추가되고 기본 작업 표시 줄 (예상되는 위치)에 추가되지 않는다는 것입니다. ActionBar 대신 "오버플로 메뉴"에 항목이 추가되었습니다.
이
은 menu_main 파일 -<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context = ".MainActivity"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never"
/>
<item
android:id="@+id/action_create_order"
android:title="@string/action_create_order"
android:icon = "@drawable/create_order"
android:orderInCategory="1"
app:showAsAction="ifRoom"
/>
이는 MainActivity가
package com.newboston.bitsandpizzas;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.content.Intent;
public class MainActivity extends Activity {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.action_create_order:
Intent intent = new Intent(this,OrderActivity.class);
startActivity(intent);
return true;
case R.id.action_settings:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
을 코드 -이다 "항상"하지만 문제 여전히 지속됩니다. 당신도이 메뉴 옵션 항목을 표시하는 화면 크기와 작업 표시 줄의 제목에 따라
은 (에뮬레이터 블루스 택스입니다)
작업 표시 줄에 메뉴 항목의 여유 공간이 있습니까? 여유가 없다면 "항상"두어도 문제가 해결되지 않습니다. – user3331142
@ user3331142 네, 있습니다 ... ActionBar는 앱 아이콘이있는 앱 이름 만 가지고 있습니다. 당신이 볼 수 있도록 스크린 샷을 업로드했습니다. – Ryuzaki
이것은 이상합니다. 나는 당신의 코드를 가져다가 내가 사용하고있는 작동중인 앱에서 사용했고 아이콘이 표시되었습니다. – user3331142