2013-02-24 10 views
6

タブレットのGmailアプリのスタイルで編集モードをしたいと思います。 ユーザーがアクションバーの編集ボタンを押した場合、アクションビューを表示したいのですが、左側に完了ボタンがあり、右側に削除ボタンがあります。アクションバーのボタンを隠す方法

私はここactionbarsherlockなく動作例を持っている: https://code.google.com/p/romannurik-code/source/browse/misc/donediscard

私は互換性のために、actionbarsherlockに固執したいと思います。

これは私がonCreateOptionsMenuでそれを解決する方法です:

getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.white)); 
getSupportActionBar().setIcon(R.drawable.white); 

for (int i = 0; i < menu.size(); i++) { 
    menu.getItem(i).setVisible(false); } 

getSupportActionBar().setDisplayHomeAsUpEnabled(false);は何もしませんので、私は白1x1ピクセルの描画可能にホームアイコンを設定する必要がありました。

また、アクションバーの背景色として、アクションバーの背景色を設定する必要がありました。もしそうでなければ、1x1のホームアイコンよりも周りにパディングがあり、元の背景色が白いホームボタンの周りに見えるでしょう。

誰でももっと良い解決策がありますか?

編集:

<style name="Theme.Styled" parent="Theme.Sherlock.Light"> 
     <item name="android:homeAsUpIndicator">@drawable/white</item> 
     <item name="homeAsUpIndicator">@drawable/white</item> 
</style> 

Also..settingsアンドロイド: 私はまた、スタイルを変更しなければならなかったhomeAsUpIndicatorも問題である11に8から私の分のAPIレベルを増加させました。

答えて

6

あなたはほとんどそこにいました。アイコン/ロゴを完全に非表示にするには、setDisplayShowHomeEnabled(false)を使用します。あなたが使用しているコールは、アイコンが "上へ"ボタンとしても機能することを示す小さい矢印を削除します。

+0

setDisplayShowHomeEnabled(false)は何もしません。ああ、今、私はその愚かな小さな矢で立ち往生しています。どのように私はそれを消えさせるか。オープニングポストに貼ったコードは、もう私のためには機能しません\: – berestom

+0

ああ、私はそれを得ました。私はstyles.xmlからいくつかの行を誤って削除しました。 – berestom

+0

私は私のdrawableをgetActionBar()として使用します。setLogo(R.drawable.back_button); getActionBar()の後setDisplayHomeAsUpEnabled(false);.私はそれを使ってテキストを書きたい。画像のように:http://stackoverflow.com/questions/29486908/android-action-bar-home-button-customize –

30

あなたはAPIレベル14以上にしているとActionbarSherlockを使用していない場合は、onCreateOptionsMenuこのコードは、ボタンを無効にします左キャレットを削除して、アイコンを削除します。

ActionBar actionBar = getActionBar(); 
if (actionBar != null) { 
    actionBar.setHomeButtonEnabled(false); // disable the button 
    actionBar.setDisplayHomeAsUpEnabled(false); // remove the left caret 
    actionBar.setDisplayShowHomeEnabled(false); // remove the icon 
} 
+0

私はあなたのコードとその正常に動作します。ロゴをホームボタンとして適用することはできますが、バックボタンでもテキストを設定したいと思います。 link:http:// stackoverflowの画像のように見えます。com/questions/29486908/android-action-bar-home-button-customizeをクリックします。これで私を助けてくれますか? –

+2

これは私のために働いた!私はちょうど '' '' getActionBar() '' 'を' 'getSupportActionBar()' ''に変更しなければなりませんでした。ありがとう! – wyzkid207

-2

それはだけど古い投稿、私は私のために働いた答えを共有したいと思います。

if (getSupportActionBar() != 
      getSupportActionBar().hide(); 
     } 

OnCreateOptionsMenuに次のように使用し、アクションバーにUPボタンを削除するには:OnCreateOptionsMenuで次のように使用し、アクションバーにUPボタンを非表示にするに

if (getSupportActionBar() != 
      getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
     } 

私はそれを願っています初心者を助ける。

関連する問題