2017-11-30 3 views
-1

AndroidStudioでアプリを構築しています。私は自分のアプリケーションにActionBarを表示したい。Androidのメニューバーにアイコンを表示しない

私はAppCompactActivityにメニューを追加したいと思います。これはメニューです:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <!-- Search, should appear as action button --> 
    <item android:id="@+id/action_search" 
     android:icon="@android:drawable/ic_menu_save" 
     android:showAsAction="always" 
     android:title="Salva"/> 
</menu> 

これはAndroidスタジオのプレビューからわかるレイアウトです。

enter image description here

これは私のAppCompactActivityです:

public class setting extends AppCompatActivity{ 
    public Program program; 
    public TextView textTargetUri; 
    public TextView labelUrl; 
    public ImageView targetImage; 
    private static final int SELECT_PICTURE = 1; 

    private String selectedImagePath; 
    private ImageView img; 
    protected void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.setting); 
     img = (ImageView)findViewById(R.id.ImageView01); 

    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu items for use in the action bar 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.menu_setting, menu); 
     return super.onCreateOptionsMenu(menu); 
    } 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle presses on the action bar items 
     switch (item.getItemId()) { 
     case R.id.action_search: 
      getSchermataHome(); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
     } 
    } 
} 

しかし、これは、私が見ることができるlayouです: enter image description here

私はそれを修正できますか?

+0

あなたが最後の画像の設定をクリックしたときには、保存アイコンが表示されたりしませんを使用してみてください? – Umair

+0

いいえテキストしか表示されないアイコン – bircastri

+0

'AppCompatActivity'の' ActionBar'は実際には 'Toolbar'の下にあるので、[受け入れられた回答](https://stackoverflow.com/a/32009666)に従ってくださいリンクされた複製。 –

答えて

1

は、次のコード

<?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"> 


<item 
    android:id="@+id/action_search" 
    android:icon="@android:drawable/ic_menu_save" 
    android:title="Salva" 
    app:showAsAction="ifRoom|always"/> 
</menu> 

アプリ属性を持つifRoom|alwaysへの変更always

0
はあなた android:showAsAction="always"だから今、あなたのコードがshowAsAction属性は上記のタグで定義されたカスタム名前空間を使用していること

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <!-- Search, should appear as action button --> 
    <item android:id="@+id/action_search" 
     android:icon="@android:drawable/ic_menu_save" 
     app:showAsAction="always" 
     android:title="Salva"/> 
</menu> 

お知らせだろう

app:showAsAction="always"に変更

。これは、サポートライブラリで定義されたXML属性を使用する場合に必要です。これらの属性は、古いデバイスのAndroidフレームワークには存在しないためです。

関連する問題