しかし、この機能には機種依存があり、物理メニューボタンがない場合のみにオーバフローメニューが表示されます。
(物理メニューボタンのある機種は、そのボタンを押せば表示されていないメニューを開くことが出来ます。)
ただし、私のように物理メニューボタンの有無でレイアウトを変えたくないという場合があると思います。
常に表示させる方法を下に記述します。
物理メニューボタンの有無で判断しているので、下記のように宣言してあげれば常にオーバーフローメニューをアクションバー上に表示させることが出来ます。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
ViewConfiguration config = ViewConfiguration.get(this);
Field field = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if(field!=null) {// 端末にメニューボタンがあるか確認
field.setAccessible(true);// フィールドアクセスを許可
field.setBoolean(config, false);// 端末には物理メニューボタンがない(false)として設定
}
} catch(Exception e) {
e.printStackTrace();
}
}
これを記述しても表示されない機種も存在しているようです。
私のSHL22にテストしてみたのですが、オーバーフローメニューとして表示されず、物理メニューボタンを押すことで表示されました。
おまけ
showAsAction属性
never 常にアクションバーに表示しない
always 常にアクションバーに表示
ifRoom アクションバーにスペースがあればメニューを表示
withText アクションバーにスペースがあればアイコンと共にタイトルを表示
collapseActionView …
Casino Games | JM Hub
返信削除With over 200 table games available, this 당진 출장안마 is a 경산 출장안마 sure bet! 포천 출장샵 Play the classic 3-Card Poker game of chance for all players to 전라북도 출장안마 take 경산 출장마사지 their first spin with your