1

API レベル 11 以降でのみ上ボタンが必要ですが、プログラムはすべてのデバイスで実行する必要があります。これどうやってするの?

ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);

また

すべての API レベルに上ボタンを追加できますか? お知らせ下さい...

4

3 に答える 3

4

これを使用して、デバイスにインストールされている Android OS バージョンを確認できます。

int currentAPIVersion = android.os.Build.VERSION.SDK_INT;

if (currentAPIVersion >= android.os.Build.VERSION_CODES.HONEYCOMB) {

    // RUN THE CODE SPECIFIC TO THE API LEVELS ABOVE HONEYCOMB (API 11+)   
    ActionBar actionBar = getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
}

アプリのすべてのアクティビティ部分でこのチェックを実行する必要があり、API レベルが 11 未満の場合は代替手段も提供する必要があります。

ただし、デバイスの API レベルが異なるユーザーの UX には違いがあります。これを橋渡しするために、API レベル (2.x 以降) に関係なく、アプリに同等性をもたらすのに役立つActionBarSherlcock ライブラリを検討することを検討できます。

更新しました:

前の に戻るアクションをホーム ボタンに追加するには、以下に示すようにメソッドをActivityオーバーライドします。コードでonOptionsItemSelected()の の使用に注意してください。同じの に表示される追加のメニュー項目がある場合は、スイッチ ブロックにケースandroid.R.id.homeを追加できます。ActionBaronOptionsItemSelected()

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {

    case android.R.id.home: {
        this.finish();

        return true;
    }

    default:
        return super.onOptionsItemSelected(item);
    }
}
于 2013-03-20T08:40:44.850 に答える
0

ActionBarSherlock - http://actionbarsherlock.com/を必要なものに使用できます

于 2013-03-20T08:35:59.457 に答える
0

ActionBarSherlock は間違いなく必要なものです。これをチェックしてください http://actionbarsherlock.com

于 2013-03-20T08:41:32.230 に答える