2

多くのデバイス用に統一されたものを作成したいので、ActionBarSherlock を使用しています。Android 2 バージョンまでのデバイスをサポートしたいと考えています。テストのために私は

-LG Nexus 4 --Android 4.2.2 を実行 -Samsung Galaxy Ace --Android 2.3.3 を実行

abs の使用を開始するために、abs に同梱されているサンプルからいくつかのサンプル コードを取得しました。主に ActionItems.java サンプル ファイルを使用しました。使用した削除ボタンは 1 つだけです。適切なドローアブルを res フォルダーにコピーしました (スクリーンショットを参照)。(アルファチャンネルで保存された 36x36 ピクセルの ldpi バージョンを作成しました)

問題は、削除アイコンが Android 2.3.3 の Samsung Ace に表示されないことです。スクリーンショットを見る コードのどこが悪いのですか? これが私のコードです:

@SuppressLint("NewApi")
public class MainActivity extends SherlockActivity implements Observer {

public static int THEME = R.style.Theme_Sherlock_Light;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    fillTableViewWithEvents();

    setTheme(R.style.Theme_Sherlock);

    setTitle(...);
}





    public boolean onCreateOptionsMenu(Menu menu) {
    //Used to put dark icons on light action bar
    boolean isLight = THEME == R.style.Theme_Sherlock_Light;

    MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    menu.add("Delete")
        .setIcon(isLight ? R.drawable.ic_action_delete : R.drawable.ic_action_delete)
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    return true;
}    

AndroidManifest.xml で、この行を追加しました (古い @style ステートメントを置き換えます

 android:theme="@style/Theme.Sherlock"
4

0 に答える 0